You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET文档中IdentityReference类继承描述的困惑与疑问

关于IdentityReference类的文档歧义问题

首先明确:文档的描述确实存在歧义,它不是指这个类完全不能被继承,而是外部开发者无法自定义继承该类——.NET框架内部的NTAccount和SecurityIdentifier是可以正常继承它的。

原因很直接:

  • 基类没有公共构造函数时,子类必须调用基类的某个构造函数才能完成初始化。IdentityReference的构造函数是非公共的(比如internal或protected级别),外部开发者的代码无法访问这些构造函数,所以自己写类继承它会触发编译错误。
  • 但NTAccount和SecurityIdentifier属于.NET框架内部类,它们有权限访问IdentityReference的非公共构造函数,因此能正常继承并实现功能。

另外,你提到的改成“无法被实例化”也不准确,因为IdentityReference本身是抽象类,抽象类不管有没有公共构造函数,都不能直接实例化,这是抽象类的固有特性,和构造函数是否公开无关。

所以文档的正确描述应该是:“该类表示标识,是NTAccount和SecurityIdentifier类的基类;该类未提供公共构造函数,因此外部代码无法继承该类。”

内容的提问来源于stack exchange,提问作者E. Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 17:32:35