// 通过反射创建类库中的实例
try
{
// 通过反射,获取模块
Assembly assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "****.dll"); //****.dll,含有界面的dll
// 获取dll类库中的类型
Type[] types = assembly.GetTypes();
foreach (var t in types)
{
// 通过反射创建类库中的实例
try
{
var obj = assembly.CreateInstance(t.ToString());
if (obj is XtraUserControl)
{
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;
}
}