SLa*_*aks 16
如果你在谈论通用约束,是的:
class SomeContainer<T> where T : new() {
...
}
Run Code Online (Sandbox Code Playgroud)
如果你在谈论继承.不可能要求实现接口或继承基类的每个类都具有无参数构造函数.
您可以做的最好的事情是在基础构造函数中使用反射来抛出异常(在运行时),如下所示:
abstract class MyBase {
protected MyBase() {
if (GetType().GetConstructor(Type.EmptyTypes) == null)
throw new InvalidProgramException();
}
}
Run Code Online (Sandbox Code Playgroud)
如果你在谈论一个班级,是的; 刚放入一个.