c# - 找不到类型 '' 的构造函数

标签 c# .net reflection

我有两个这样的类。

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;

您尝试在此处向您的 ctor 添加两个 int 参数:new Object[] {2,3}

并且没有构造函数接受两个参数(在所示代码中)。

关于c# - 找不到类型 '' 的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762081/

相关文章:

c# - 实现没有 CA 警告的继承 IDisposable 模式

.net - 如何在不处理子控件事件的情况下检查鼠标单击是否在用户控件中?

c# - 具有终结器但不是 IDisposable 的单例

Python 的 getattr 被调用了两次?

c# - 如何获取实现给定接口(interface)的所有加载类型的所有实例?

c# - 如何在 ASP.net Core 中进行 Per-Request 缓存

C# 可能错误的空语句

c# - 如何使用 CIL 操作码 bne.un 与 beq、bne.un.s 与 beq.s、无符号与有符号相等

.net - now.date.addDays 的反义词是什么?

go - 如何检查函数的返回值是否满足错误接口(interface)