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

如何在C#文档注释中指定参数描述与其他方法相同,避免重复编写?

实现方案

C# 原生支持两种方式实现XML注释参数描述的复用,你提到的<see>标签可以实现,更推荐使用<inheritdoc>标签完成全自动的注释继承,无需手动同步内容:

方法1:使用<inheritdoc>标签(推荐)

这是.NET官方提供的注释继承能力,C# 7.1及以上版本均支持,生成的XML文档、VS智能提示都会自动继承目标方法的参数描述,原方法注释修改后会自动同步,无需手动改动:

/// <summary>
/// abc
/// </summary>
/// <param name="log">ILogger object to be used to log via stdout.</param>
/// <param name="abc">Some random string</param>
public static void abc(ILogger log, string abc)
{
}

/// <summary>
/// pqr
/// </summary>
<!-- 直接继承abc方法的所有参数注释,无需重复编写 -->
/// <inheritdoc cref="abc(ILogger, string)"/>
public static void pqr(ILogger log, string abc)
{
}

如果需要自定义部分参数的描述,只需要单独重写对应<param>标签即可,其余参数仍会继承原方法的注释:

/// <summary>
/// pqr
/// </summary>
/// <inheritdoc cref="abc(ILogger, string)"/>
/// <param name="abc">自定义的abc参数说明,会覆盖继承的内容</param>
public static void pqr(ILogger log, string abc)
{
}

方法2:使用<see>标签

如果使用不支持<inheritdoc>的低版本编译器,可以用<see>标签手动关联原方法的参数,缺点是不会自动同步原方法的描述内容,需要手动标注说明:

/// <summary>
/// pqr
/// </summary>
/// <param name="log">同<see cref="abc(ILogger, string)"/>方法的<paramref name="log"/>参数</param>
/// <param name="abc">同<see cref="abc(ILogger, string)"/>方法的<paramref name="abc"/>参数</param>
public static void pqr(ILogger log, string abc)
{
}

内容的提问来源于stack exchange,提问作者a3y3

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:45:00