C#中反射調用

C # 中反身調用
Object Ojb1
Obj1 is CSWITWebControl.Controls.CSWITLabel ) ||
      (Obj1 is CSWITWebControl.Controls.CSWITButton ) ||
      (Obj1 is CSWITWebControl.Controls.CSWITImageButton) ||
      (Obj1 is CSWITWebControl.Controls.CSWITCalendar ) ||
      (Obj1 is CSWITWebControl.Controls.CSWITComboBox ) ||
      (Obj1 is CSWITWebControl.Controls.CSWITSearchButton ) ||
      (Obj1 is CSWITWebControl.Controls.CSWITShortDate ) ||
      (Obj1 is CSWITWebControl.Controls.CSWITTextEdit ) ||
      (Obj1 is CSWITWebControl.Controls.CSWITNumberEdit
利用自己開發的控件獲取屬性了設置屬性
Type typObj=Obj1.GetType();
// 调用没有返回值的方法
typObj.InvokeMember("Display",BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance , null , obj , new object[]{"aldfjdlf"});

//
调用有返回值的方法
int i = (int)typObj.InvokeMember("GetInt",BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance,null,obj,new object[]{1});
Console.WriteLine(i);

//
设置属性值
typObj.InvokeMember("Name",BindingFlags.SetProperty,null,obj,new string[]{"abc"});

//
获取属性值
string str=(string)typObj.InvokeMember("Name",BindingFlags.GetProperty,null,obj,null);
Console.WriteLine(str);

//
设置字段值
typObj.InvokeMember("field1",BindingFlags.SetField,null,obj,new object[]{444});

//
获取字段值
int f=(int)typObj.InvokeMember("field1",BindingFlags.GetField,null,obj,null);
Console.WriteLine(f);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值