2009-08-18 33 views
19

如果我有这两种方法C#,xmlDoc中:如何引用方法重载

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'。这是真的,但我希望它参考两个。这样做的正确方法是什么?或者我应该只应该引用单个方法重载?

+0

可能的重复[如何在C#中的标记中为方法重载创建一个cref?](https://stackoverflow.com/questions/419702/how-to-make-a-cref-to-method-过载在一个seealso标签在C) – binki 2017-05-31 23:59:34

回答

17

尝试

/// Has a close relation to the <see cref="Get(string)"/> 
/// and <see cref="Get(int)" /> methods. 

您可能需要全typenames但智能感知应尽快你把第一支架的帮助。

希望帮助,

+4

嗯......如果你有很多重载,可能会变得烦人...... – Svish 2009-08-18 17:22:11

+1

确实!然而,如果你有很多重载,可能是一种嗅觉,告诉你在作品中有一个重构。善良,丹 – 2009-08-18 18:41:20

+2

我真的希望有一些方法可以做OP最初想要的。虽然这种方法在没有更好的方法的情况下是实用的,但它也是草率的,因为参数列表是一个_implementation detail_,与实际发表的言论无关。如果在稍后时间增加第三次超载并且忘记了这句话,那么它就会错误地暗示这个备注不适用于那个新的超载,而事实上它可能确实如此。 (我想我已经看到了更接近的方法,但不幸的是不记得它。) – Kevin 2013-10-19 05:49:33

2

这里有一个更新回答这个老问题。由于没有太多的文档,所以我不确定这是否有效。如果在cref属性前加上"o:..."(如"o:myMethod()"),则它将链接到过载部分并覆盖该方法的所有重载。使用丹尼尔Elliott的答案的例子:

/// Has a close relation to the <see cref="o:Get()"/> methods. 

这也将删除智能感知从/ ReSharper的关于模糊引用的警告。