using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kernel.SimpleLibrary
{
public class Person
{
private string name;
public Person(){ }
public Person(string name)
{
this.name = name;
}
public string Name
{
get { return this.name; }
set { this.name = value; }
}
public override string ToString()
{
return this.name;
}
}
}
using System;
using System.Reflection;
using System.Runtime.Remoting;
public class Program
{
static void Main(string[] args)
{
//创建在指定程序集中定义的指定类型的新实例
//assemblyName = 命名空间,typeName = 命名空间.类名
ObjectHandle handle = Activator.CreateInstance("Kernel.SimpleLibrary", "Kernel.SimpleLibrary.Person");
Object p = handle.Unwrap();
Type t = p.GetType();
PropertyInfo prop = t.GetProperty("Name");
if (prop != null)
prop.SetValue(p, "Hello world!");
MethodInfo method = t.GetMethod("ToString");
Object retVal = method.Invoke(p, null);
if (retVal != null)
Console.WriteLine(retVal);
}
}