2009-08-18 20 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的關於模糊引用的警告。