.NET 文档中关于继承的混乱

问题描述 投票:0回答:2

我正在阅读 .NET 文档,并遇到了

IdentityReference
类,其中指出:

表示身份,是 NTAccount 和 SecurityIdentifier 类的基类。该类不提供公共构造函数,因此不能被继承。

我的困惑是,它说它不能被继承,但它还声明它是

NTAccount
SecurityIdentifier
类的基类。根据我的理解,这些类正在继承
IdentityReference

文档是否不正确,或者我的理解不完整?文档是否应该说“此类不提供公共构造函数,因此无法实例化”?

c# .net class inheritance msdn
2个回答
0
投票

最有可能的是,这意味着构造函数是internal,这意味着该类只能由同一程序集中的类继承。因此,当它说“不能继承”时,它实际上意味着它“不能被外部程序集的作者继承”。


0
投票
文档是正确的。子类必须能够调用基类构造函数,无论是默认的无参数构造函数还是其他构造函数。不过

IdentityReference

 类没有公共或受保护的构造函数。如果您尝试继承它,您将收到编译错误。

该类具有

一个内部构造函数,它允许其自己的程序集中的类继承它

© www.soinside.com 2019 - 2024. All rights reserved.