// 在invoke的时间非静态方法需要一个目标, 则需要Object 参数
// typeof() ,GetType(string st) GetMethod(string st) 如果这两个方法中的参数所在命名空间与程序集名称不符,则需要加上命名空间, 如下"T.Class1"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
[assembly: AssemblyVersion("1.0.2000.0")]
namespace T {
class Program
{
static void Main(string[] args)
{
Assembly assem = typeof(Class1).Assembly;
Console.WriteLine(assem.FullName);
Object o = assem.CreateInstance("T.Class1", false, BindingFlags.ExactBinding, null, new Object[] { "Hello" }, null, null);
Type t = assem.GetType("T.Class1");
MethodInfo m = t?.GetMethod("Test",new[] { typeof(string) });
Object ob=m?.Invoke(null, new Object[] { "ell" });
Console.WriteLine("\nAssembly entry point:");
Console.WriteLine(assem.EntryPoint);
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace T
{
public class Class1
{
string xx;
public void Test(string st)
{
Console.WriteLine(st+xx);
}
public Class1(string x)
{
xx = x;
}
}
}