未找到类型的构造函数



我有两个这样的类。

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)构造函数

相关内容

  • 没有找到相关文章