//通过反射创建类库中的实例 try{ //通过反射,获取模块 Assembly assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "****.dll"); //****.dll,含有界面的dll //获取dll类库中的类型 Type[] types =assembly.GetTypes(); foreach (var t intypes) { //通过反射创建类库中的实例 try{ var obj =assembly.CreateInstance(t.ToString()); if (obj isXtraUserControl) { XtraUserControl uc =(XtraUserControl)obj; //是否是主页面 if (uc.Name == "mainform") { //添加视图 LoadUserCon(uc); //获取类型 Type type =obj.GetType(); //获取指定名称的属性 System.Reflection.PropertyInfo propertyInfo = type.GetProperty("value"); //给对应属性赋值 propertyInfo.SetValue(obj, “这里传value的值”, null); } } } catch (MissingMethodException) //忽略该错误【没有找到匹配的构造函数】【有的接口类,扩展类没有构造】 { continue; } }
C# 使用反射获取界面并传参
免责声明:文章转载自《C# 使用反射获取界面并传参》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇【DLL相关】实现函数的DLL封装,并在另一个项目中调用Cursor中的中的movetofrist和movetonext下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=