为什么我不能从派生的 class 中的 XML 文档注释标签中引用基础 class 中的可访问成员?
Why can't I reference the accessible members in a base class from within XML documentation comment tags in a derived class?
假设我有这个:
internal abstract class Animal
{
internal bool IsExtinct { get; set; }
}
internal sealed class WoollyMammoth : Animal
{
internal int WeightLbs { get; set; }
/// <summary>
/// Construct a new instance with <see cref="IsExtinct"/> // this throws an error "XML comment has cref attribute 'IsExtinct' that could not be resolved".
/// set to "true" and <see cref="WeightLbs"/> // this works just fine.
/// initialized to 0.
/// </summary>
WoollyMammoth()
{
// no problem with either of these, of course.
IsExtinct = true;
WeightLbs = 0;
}
}
为什么我在尝试从 <see/>
XML 评论引用基础 class 中定义的 IsExtinct
属性 时出现错误标签?我可以访问派生 class 中定义的属性,例如 WeightLbs
.
要引用基础 class 符号,请使用限定名称:<see cref="Animal.IsExtinct"/>
.
没有特别的理由要求这样做。 Roslyn 代码库包含一个测试,专门测试未找到基本 class 符号 (CrefTests.TypeScope4
),其中提到原因很简单,因为这是以前的编译器所做的:
// <strong>As in dev11</strong>, we ignore the inherited method symbol.
这看起来像是一次历史性事故,而且由于解决方法微不足道,因此不太可能更改。
假设我有这个:
internal abstract class Animal
{
internal bool IsExtinct { get; set; }
}
internal sealed class WoollyMammoth : Animal
{
internal int WeightLbs { get; set; }
/// <summary>
/// Construct a new instance with <see cref="IsExtinct"/> // this throws an error "XML comment has cref attribute 'IsExtinct' that could not be resolved".
/// set to "true" and <see cref="WeightLbs"/> // this works just fine.
/// initialized to 0.
/// </summary>
WoollyMammoth()
{
// no problem with either of these, of course.
IsExtinct = true;
WeightLbs = 0;
}
}
为什么我在尝试从 <see/>
XML 评论引用基础 class 中定义的 IsExtinct
属性 时出现错误标签?我可以访问派生 class 中定义的属性,例如 WeightLbs
.
要引用基础 class 符号,请使用限定名称:<see cref="Animal.IsExtinct"/>
.
没有特别的理由要求这样做。 Roslyn 代码库包含一个测试,专门测试未找到基本 class 符号 (CrefTests.TypeScope4
),其中提到原因很简单,因为这是以前的编译器所做的:
// <strong>As in dev11</strong>, we ignore the inherited method symbol.
这看起来像是一次历史性事故,而且由于解决方法微不足道,因此不太可能更改。