c# 反射的使用

//获取具有指定名称的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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值