我有两个这样的类。
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'的异常构造函数。
任何想法?
这一行
var viewModel = Activator.CreateInstance(typeof(TViewModel), new Object[] {2,3}) as TViewModel;
你尝试添加两个int参数到你的函数:new Object[] {2,3}
并且没有接受两个参数的函数(在所示代码中)
该类上没有接受两个整数作为实参的构造函数。添加这样的构造函数或更正传入的参数。
MyClass2
只有默认的无参数构造函数。它不继承MyClass(int)
构造函数