如何使用反射和访问类方法实例化类(无接口)
本文关键字:接口 实例化 类方法 何使用 反射 访问 | 更新日期: 2023-09-27 18:03:08
我有一个c#解决方案,有3个项目。
- Windows窗体应用程序
- Windows库模块1 (frmSearch, frmDetail)
- Windows库模块2 (frmSearch, frmDetail)
模块1和模块2各有两种形式(如上所示)。所以我想做的是从模块2我需要得到Module1.frmDetail
,然后实例化类,然后访问它的构造函数,这样我就可以传递一个参数。
问题是我没有Module1.frmDetail的接口(不知道我是否需要它),这是我从Module2.frmSearch的实际代码:
// Use Reflection to load Module1.frmDetail
if(System.Reflection.Assembly.GetEntryAssembly() != null)
{
System.Reflection.Assembly a = System.Reflection.Assembly.Load("Module1.frmDetail");
if(a != null)
{
System.Type type = a.GetType("Module1.frmDetail");
var frm = Activator.CreateInstance(type);
// here i want to pass a parameter to the constructor???
}
}
你知道怎么做吗?
激活器过载。创建实例,根据传递给它的参数选择要调用的构造函数