RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
反射的使用
  • 作者:zhaozj
  • 发表时间:2020-12-23 10:38
  • 来源:未知

//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