gpt4 book ai didi

c# - 为什么我不能从派生类的 XML 文档注释标记中引用基类中的可访问成员?

转载 作者:太空宇宙 更新时间:2023-11-03 22:57:50 29 4
gpt4 key购买 nike

假设我有这个:

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;
}
}

为什么在尝试引用 IsExtinct 时出现错误属性,在基类中定义,来自 <see/> XML注释标签?我可以访问派生类中定义的属性,例如 WeightLbs .

最佳答案

要引用基类符号,请使用限定名称:<see cref="Animal.IsExtinct"/> .

没有特别的理由要求这样做。 Roslyn 代码库包含一个专门测试未找到基类符号的测试 ( CrefTests.TypeScope4 )其中提到原因很简单,因为这是以前的编译器所做的:

// <strong>As in dev11</strong>, we ignore the inherited method symbol.

这看起来像是一次历史性事故,而且由于解决方法微不足道,因此不太可能改变。

关于c# - 为什么我不能从派生类的 XML 文档注释标记中引用基类中的可访问成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44576582/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com