反射的使用
2004-08-17 11:24
190 查看
//2003-1-9 尤建波
??//对面板控制的晚编连
???System.Reflection.Assembly assem;
???assem=System.Reflection.Assembly.Load("OceanSoft.AssLoadXml");
???
???string TypeName="";
???Type helloType ;
???Type[] MyType =assem.GetTypes();
???foreach (Type m in MyType)
???{
????TypeName=m.Name.ToString();
????if(TypeName==mItem["PanelLinkUrl"].ToString().Trim())//动态调用类
????{
?????helloType = m;
?????Object obj = Activator.CreateInstance(helloType);
????
//?????//设置属性值 对应哪个面板
//?????PropertyInfo pPropertyDll3 = helloType.GetProperty("UserType");
//?????//赋值
//?????Object[] argsProperty3;
//?????argsProperty3=new Object[1];?
//?????argsProperty3[0]=mItem["PanelLinkUrl"].ToString().Trim();
//?????pPropertyDll3.SetValue(obj,argsProperty3[0],null);
?????//设置属性值 用户的guid
?????PropertyInfo pPropertyDll1 = helloType.GetProperty("UserGUID");
?????//赋值
?????Object[] argsProperty1;
?????argsProperty1=new Object[1];?
?????argsProperty1[0]=Session["WAF_UserGuid"].ToString();
?????pPropertyDll1.SetValue(obj,argsProperty1[0],null);
?????//调用函数(返回值)
?????MethodInfo pMethod1 = helloType.GetMethod("IGetData");
?????Object[] argsMax = new Object[0];????????????? //传入的参数
?????Object[] argsReturnMax = new Object[1];???//返回参数的个数
?????argsReturnMax[0]=pMethod1.Invoke(obj,argsMax);? //返回值
???
?????strXml=(string) argsReturnMax[0];
????}
???}
??doc.LoadXml(strXml);
??//end
??//对面板控制的晚编连
???System.Reflection.Assembly assem;
???assem=System.Reflection.Assembly.Load("OceanSoft.AssLoadXml");
???
???string TypeName="";
???Type helloType ;
???Type[] MyType =assem.GetTypes();
???foreach (Type m in MyType)
???{
????TypeName=m.Name.ToString();
????if(TypeName==mItem["PanelLinkUrl"].ToString().Trim())//动态调用类
????{
?????helloType = m;
?????Object obj = Activator.CreateInstance(helloType);
????
//?????//设置属性值 对应哪个面板
//?????PropertyInfo pPropertyDll3 = helloType.GetProperty("UserType");
//?????//赋值
//?????Object[] argsProperty3;
//?????argsProperty3=new Object[1];?
//?????argsProperty3[0]=mItem["PanelLinkUrl"].ToString().Trim();
//?????pPropertyDll3.SetValue(obj,argsProperty3[0],null);
?????//设置属性值 用户的guid
?????PropertyInfo pPropertyDll1 = helloType.GetProperty("UserGUID");
?????//赋值
?????Object[] argsProperty1;
?????argsProperty1=new Object[1];?
?????argsProperty1[0]=Session["WAF_UserGuid"].ToString();
?????pPropertyDll1.SetValue(obj,argsProperty1[0],null);
?????//调用函数(返回值)
?????MethodInfo pMethod1 = helloType.GetMethod("IGetData");
?????Object[] argsMax = new Object[0];????????????? //传入的参数
?????Object[] argsReturnMax = new Object[1];???//返回参数的个数
?????argsReturnMax[0]=pMethod1.Invoke(obj,argsMax);? //返回值
???
?????strXml=(string) argsReturnMax[0];
????}
???}
??doc.LoadXml(strXml);
??//end
相关文章推荐
- Upcoming Changes to ASP.NET 2.0 in Beta 2
- 为 ASP.NET 控件添加设计时支持
- Meta的用法
- Meta的用法
- 2004-08-13:Web Service的标准化和软件开发的趋势
- Eclipse插件Lombz使用教程
- [转贴]IIS6.0服务器无法访问解决方案总结
- 奥运随想
- XmlHttp异步获取网站数据的例子
- asp.net小技艺
- [转]解说Win32的窗口子类化
- JS脚本精华大全
- 玩CS的朋友来看看这篇文章,呵呵
- Msconfig中的“启动”有那么多项,究竟哪些是系统必要的呢
- AOP through .Net Remoting Infrastructure
- RFC698_Telnet扩展ASCII选项
- 自定义asp.net控件分析
- RFC692 对于IMP/HOST 协议的改动的注释 (RFCS 687 AND 690)
- RFC697_FTP的CWD命令
- 第一次用blog,呵呵!