我有两个这样的课程。
public class MyClass
{
protected readonly int SomeVariable;
public MyClass(){}
public MyClass(int someVariable)
{
SomeVariable = someVariable;
}
}
public class MyClass2 : MyClass {}
有没有办法使用Activator.CreateInstance创建类的实例? 我写了这样的话:
public class ActivatorTest<TViewModel>
where TViewModel : MyClass
{
public void Run()
{
var viewModel = Activator.CreateInstance(typeof(TViewModel), new Object[] {2}) as TViewModel;
}
}
new ActivatorTest<MyClass2>().Run();
但是我找不到类型'MyClass2'的异常构造函数。
有什么想法吗?
答案 0 :(得分:3)
该类上没有构造函数将两个整数作为参数。添加这样的构造函数或更正传入的参数。
答案 1 :(得分:3)
在这一行
var viewModel = Activator.CreateInstance(typeof(TViewModel), new Object[] {2,3}) as TViewModel;
您尝试在此处向您的ctor添加两个int参数:new Object[] {2,3}
并且没有ctor采用两个参数(在显示的代码中)。
答案 2 :(得分:0)
MyClass2
只有默认的无参数构造函数。它不会继承MyClass(int)
构造函数。