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
(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"});
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);