//获取具有指定名称的Type,执行区分大小写的搜索。
//tips:GetType包括Object.GetType()和Type.GetType6个重载静态方法
Type ty = Type.GetType("ExtHomeExpansion.View.zyl");
//通过加载程序集也可以获得对应类的类型
//其中Load方法后面直接加上引用程序集的fullname
//Type ty=Assembly.Load("ExtHomeExpansion").GetType("ExtHomeExpansion.View.Class1");
//使用指定类型的默认构造函数来创建该类型的实例。
object obj = Activator.CreateInstance(ty);
//获取方法的信息,这里的方法名为geta
MethodInfo method = ty.GetMethod("geta");
//调用方法的一些标志位,这里的含义是Public并且是实例方法,这也是默认的值
BindingFlags flag = BindingFlags.Public | BindingFlags.Instance;
//方法的参数
object[] parameters = null;
//调用方法,用一个object接收返回值
object returnValue = method.Invoke(obj, flag, Type.DefaultBinder, parameters, null);
//获取属性信息
PropertyInfo pi = ty.GetProperty("b");
object ot = pi.GetValue(obj, null);
c# 反射的使用
最新推荐文章于 2024-03-27 17:18:48 发布