【问题标题】:Can I reference an overloaded method using C# documentation tags?我可以使用 C# 文档标签引用重载方法吗?
【发布时间】:2010-03-16 14:49:03
【问题描述】:

在这个特定的代码示例中,我想从C# documentation 标签中引用第二个重载方法(int n):

/// <summary>
/// The method to pass an integer to is <see cref="DoSomething">
/// </summary>

void DoSomething() {
}
void DoSomething(int n)  {
}
void DoSomething(string str) { 
}

但是怎么做呢?

【问题讨论】:

标签: c# xml comments


【解决方案1】:

当 ReSharper 帮助我完成 cref 属性时,它会包含重载时的参数类型(即 DoSomething(int))。我假设这是这样做的有效方法。

【讨论】:

    【解决方案2】:

    当 Visual Studio 生成包含关联程序集的 cmets 的 XML 文档文件时,每个记录的成员都将由唯一的名称标识。您可以在以下位置查看此 ID 生成的规则:

    Processing the XML File (C# Programming Guide)

    特别感兴趣的是带有基本类型参​​数的方法的规则,它说:

    对于属性和方法,如果有 是方法的参数, 括号中的参数列表 跟随。如果没有参数,没有 括号存在。论据 用逗号分隔。编码 每个参数的直接遵循如何 它是在 .NET Framework 中编码的 签名:

    • 基本类型。常规类型(ELEMENT_TYPE_CLASS 或 ELEMENT_TYPE_VALUETYPE)是 表示为完全合格的 类型的名称。
    • ...

    在您的情况下,会导致 ID 为 (M:YourNamespace.YourType.DoSomething(System.Int32)),然后可以在 cref 属性中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-23
      • 2012-02-18
      • 2017-05-01
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      相关资源
      最近更新 更多