2009-08-18 9 views
19

私はこれらの2つの方法がある場合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#のタグでメソッドのオーバーロードを行う方法は?](https://stackoverflow.com/questions/419702/how-to-make-a-cref-to-method- over-in-a-seealso-tag-in-c) – binki

答えて

17

あなたは完全な型名を必要とするかもしれないが、インテリセンスはできるだけ早くあなたが最初のブラケットを置くように役立つはず

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

を試してみてください。役立ちます

希望、

ダン

+4

ええと...あなたは過負荷が多いと迷惑になるかもしれません... – Svish

+1

確かに!しかし、多くの過負荷を抱えていると、それはリファクタがあることを告げるにおいがする可能性があります。親切、Dan –

+2

私はOPが元々望んでいたことをするための何らかの方法があると本当に願っています。この方法は、より良い方法が存在しない場合には実用的ですが、引数リストは実際の発言とは関係のない_実装例であるという意味では、やっかいです。後でもう一度3番目の過負荷が追加され、この発言が忘れられた場合、誤ってその発言がその新しい過負荷に当てはまると誤って示唆されます。 (私はもっと近いアプローチを見たことがあると思いますが、残念ながら思い出せません。) – Kevin

2

がここに更新されますこの古い質問に答えてください。私はそこに多くの文書がないので、これがいつ有効になったのか分かりません。 cref属性の先頭に"o:..."(例えば"o:myMethod()")を置くと、オーバーロードセクションにリンクされ、そのメソッドのすべてのオーバーロードをカバーします。ダニエル・エリオットの答えの例を使用する:

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

これもあいまいな参照に関するインテリセンス/ ReSharperのからの警告を削除します。