c# - 重写的方法文档
问题描述
我正在使用 C# 和 Visual Studio(2015,未检查其他版本)。
我对代码文档的覆盖方法有疑问。请看下面的例子
public class BaseClass
{
public BaseClass()
{ }
/// <summary>
/// BaseClass.MethodName comment
/// </summary>
public virtual void MethodName()
{ }
}
public class InheritedClass : BaseClass
{
public InheritedClass(): base()
{ }
public override void MethodName()
{ }
}
public class Test
{
public static void m()
{
BaseClass b = new BaseClass();
b.MethodName();
InheritedClass i = new InheritedClass();
i.MethodName();
BaseClass iasb = i;
iasb.MethodName();
}
}
如果我将光标移到对 MethodName() 的 3 个不同调用上,我会得到:
似乎覆盖方法上的代码注释查找也不会扫描基类,当覆盖方法没有“覆盖”注释时也是如此。相反,如果可能的话,我希望如果继承的类没有任何本地注释,则显示基类的注释。此外,如果继承的类具有本地注释,开发人员可以选择判断本地注释是否必须完全覆盖基类的注释,或者是否必须以某种方式将本地注释与基类'一。
有什么建议吗?
解决方案
这是在 Visual Studio 2019 版本 16.4 中引入的。从发行说明:
此版本中的.NET Productivity新增功能包括直接通过编辑器配置代码样式规则的严重性级别的能力,使用新的 Go To Base 命令轻松导航到继承链,为所有参数添加空检查,以及XML 文档压倒一切的方法。
在此之前,看起来有一个extension和一个MSBuild 任务来完成同样的事情,方法是用/// <inheritdoc/>
.
推荐阅读
- python - 使用控制器的 Tkinter 交叉引用类和变量?
- python - 根据另一个数据框中具有最小值/最大值的列从熊猫数据框中选择值
- python - 弹性搜索连接
- reactjs - 使用 reactstrap 切换手风琴功能?
- azure - 尝试运行 Get-AzStorageBlob 时出错
- r - 收到“不允许从闪亮输出对象读取”。运行代码时出错?
- javascript - 在 CSS 中单击按钮时触发水动画
- file - TensorFlow 无法从文件路径加载图像文件
- antlr - Antlr 查找带有 ' 的单个字符
- c# - 捕获唯一约束异常并重试不使用 C# 的 Web API