C# 利用反射调用方法步骤


//C# 利用反射调用方法步骤:
//1、引用 using System.Reflection; 。
//2、加载程序集,返回类型是一个 Assembly。assembly = Assembly.Load("程序集")
//3、遍历 assembly ,得到程序集中所有类的名称。
//foreach (Type type in assembly.GetTypes())
//{
// string t = type.Name;
//}
//4、获取当前类的类型。Type type = assembly.GetType("程序集.类名");
//5、创建此类型实例。object obj = Activator.CreateInstance(type);
//6、获取当前方法。MethodInfo methodInfo = type.GetMethod("方法名");
//7、调用方法。methodInfo.Invoke(null, 方法参数);或 methodInfo.Invoke(obj, 方法参数);

//如果是要反射调用,静态类中的静态属性的方法。则需要
//4、获取当前属性。
//System.Reflection.PropertyInfo propertyInfo = type.GetProperty("属性名");
//5、获取当前方法。
//System.Reflection.MethodInfo method = propertyInfo.PropertyType.GetMethod("方法名");
//6、获取当前属性所属的对象。
//var value = propertyInfo.GetValue(propertyInfo, null);
//7、调用方法。
//method.Invoke((object)value, new object[] { 方法参数1, 方法参数2 });