如何解决如何在C#中创建类A,其中A只能由B,C,D继承?
| 有某种机制允许类仅在C#中被N个类继承吗?解决方法
您可以将它及其派生类放在单独的程序集中,然后将基类的构造函数声明为“ 0”。这样,尽管您可以在另一个程序集中继承它,但是您将无法实例化任何派生类。
, 不,但是如果超出限制,您总是可以使构造函数引发异常。
,
// can be inherited only by classes in the same assembly
public abstract class A
{
protected internal A() { }
}
// can\'t be inherited
public sealed class B : A
{
}
, 仅仅出于我个人的兴趣,我想了解更多有关使这样的设计选择理想的业务环境,因为我在阅读标题时的第一个想法是:“哦,非常糟糕的主意!从不应该假设基类知道任何东西(更糟糕的是,要统治它的派生类)。”
, 您可以使类a abstarct并继承任意数量的类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。