namespace 反射
{
class Program
{
static void Main(string[] args)
{
Assembly ass= Assembly.Load(@"反射");//找到程序集
var type = ass.GetType("反射.Reflections");//找到类
var method = type.GetMethod("OutPut");//找到类下面的方法
object instance = Activator.CreateInstance(type);//创建类的实例
method.Invoke(instance, new object[] { "执行了" });//调用方法
Console.ReadKey();
}
}
public class Reflections
{
public void OutPut(string str)
{
Console.WriteLine("反射"+str);
}
}
}
var method = type.GetMethod("OutPut");改成var method = type.GetMethod("OutPut", BindingFlags.Instance | BindingFlags.NonPublic);还可以调用类里面的私有方法