强制类实现特定的构造函数

时间:2016-07-28 18:31:48

标签: c# generics reflection constructor

我们说我有以下课程:

public class SomeClass<TSource>
{

     private Model _model;

     // ...

     public void SomeMethod()
     {
         // ...
         TSource instance = Activator.CreateInstance(typeof(TSource), _model);
         // ...
     }
}

然后我有这个课程:

public class OtherClass
{
     public OtherClass(Model model)
     {
         // ...
     }
}

如果我执行以下操作,一切都很好:

SomeClass<OtherClass> someClass = // ....
someClass.SomeMethod();

但是,如果OtherClass有一个无参数构造函数,或者任何不同于所述的构造函数,该怎么办?

一切都会很好地编译,但是在创建实例时会引发运行时异常。

有没有办法在每个类上强制使用某个构造函数,这些类将用作SomeClass<>的泛型参数? (像通用约束一样)

0 个答案:

没有答案