是否可以在 .net 中强制继承?
例如,我有一个包含基类“BaseEntity”的类库项目。我有 3 个类说“EntityA”、“EntityB”和“EntityC”,所有这些类都继承自这个基类。现在,当我在这个项目中创建另一个类时,.net 应该给我一个编译时错误,该类没有从类“BaseEntity”继承。
最佳答案
您不能强制 C# 编译器使项目中的每个 类都继承自特定的其他类,不。你也不应该。如果您想创建一些辅助类或其他非实体类怎么办?为什么项目中的一切都应该是一个实体?
现在有两种方法可以强制继承:
- 您可以将
BaseEntity
设为抽象类,这样无论何时处理BaseEntity
的实例,您实际上都在处理某个派生类的实例。< 您可以使用带有约束的类型参数来编写泛型类型或方法,这样类型参数必须是
BaseEntity
或派生类:public void EntityLoader<T> where T : BaseEntity
这些都不是您要求的,但它们是可用的。
关于.net - 在 .net 中强制继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4264101/