C#,XmlDoc:如何引用方法重载

C#,XmlDoc:如何引用方法重载,c#,overloading,xml-documentation,C#,Overloading,Xml Documentation,如果我有这两种方法 public Foo Get(string bar) { ... } public Foo Get(int bar) { ... } 并使用另一种方法编写这段xml文档 /// <summary> /// Has a close relation to the <see cref="Get"/> methods. /// </summary> // ///与方法有着密切的关系。 /// 我在get下面看到一条蓝色的曲线,表示它是一个

如果我有这两种方法

public Foo Get(string bar) { ... }
public Foo Get(int bar) { ... }
并使用另一种方法编写这段xml文档

/// <summary>
/// Has a close relation to the <see cref="Get"/> methods.
/// </summary>
//
///与方法有着密切的关系。
/// 
我在
get
下面看到一条蓝色的曲线,表示它是一个模棱两可的引用“get”。这是真的,但我希望两者都能参考。正确的做法是什么?或者我应该只引用一个方法重载吗?

试试看

/// Has a close relation to the <see cref="Get(string)"/>  
/// and <see cref="Get(int)" /> methods.
///与
///和方法。
您可能需要完整的字体名称,但只要您将第一个括号放入,intellisense就会有所帮助

希望有帮助


这是这个老问题的最新答案。我不确定这是什么时候生效的,因为没有太多的文档。如果在
cref
属性前面加上
“o:…”
,例如在
“o:myMethod()”
中,它将链接到重载部分并覆盖该方法的所有重载。以Daniel Elliott的答案为例:

/// Has a close relation to the <see cref="o:Get()"/> methods.  
///与方法有着密切的关系。

这也将从Intellisense/Resharper中删除关于不明确引用的警告。

的确如此!然而,如果你有很多重载,这可能是一种气味,告诉你有一个重构在工作中。出于好意,丹尼真的希望能有办法实现OP最初的愿望。虽然这种方法在没有更好的方法的情况下是实用的,但它也是草率的,因为参数列表是一个实现细节,与所做的实际注释无关。如果在稍后的某个时间添加了第三个重载,并且忘记了此注释,那么它将错误地表明此注释不适用于新的重载,而事实上它可能适用。(我想我已经看到了一个更接近的方法,但不幸的是我记不起来了。)我注意到,当我这样做时,应用方法的IntelliSense弹出窗口不再对
内容进行语法着色。我还丢失了关于该方法存在的警告-因此我不确定这是否是一个好的解决方案。不确定这是从哪里得到的,但它似乎在16.4.5版的VS社区中不起作用。它只显示为文本,与跳过
see
标记没有什么区别。