我有以下 Windows 运行时解决方案设置:
在我的 EXE 引用的 DLL 中
public abstract class BaseClass {
public BaseClass(Guid id, string name) {
//...
}
}
在EXE中
public sealed class DerivedClass : BaseClass {
}
在 DLL 中,还有另一个类使用BaseClass
在运行时指定的子类型。我想既然基类有构造函数,我就可以像这样实例化它:
//this._userType holds the type of DerivedClass
BaseClass foo = (BaseClass)Activator.CreateInstance(this._userType, id, name);
但是,它告诉我找不到构造函数。所以我去找了其他答案,说我可以使用Type
'GetConstructor()
方法,但这似乎在 WinRT 中不存在。有一个DeclaredConstructors
属性,但它只列出在DerivedClass
. DerivedClass
除了这个特定的构造函数之外不需要做任何事情BaseClass
,所以我不想只写一个调用的显式构造函数,base
但如果这是唯一的选择,那么让我知道(我确认这种方法有效)。