これまでに示した答えのどれも、私にとって完全に機能しません。ReSharperは、完全に解決されない限り、seeタグをCtrl+クリック可能なリンク(例:)に変換しません。
OPのメソッドがという名前空間にあるTest
場合、表示されているメソッドへの完全に解決されたリンクは次のようになります。
<see cref="M:Test.FancyClass`1.FancyMethod``1(`0)"/>
うまくいく可能性があるので、クラス型パラメーターの数の前にバックティックが1つだけあり、メソッド型パラメーターの数の前に2つのバックティックがあるはずです。パラメーターは、適切な数のバックティックを持つゼロインデックスのパラメーターです。
したがってFancyClass
、1つのクラス型パラメーターとFancyMethod
1つの型パラメーターがあり、FancyClass
パラメーター型のオブジェクトがメソッドに渡されることがわかります。
この例でより明確にわかるように:
namespace Test
{
public class FancyClass<A, B>
{
public void FancyMethod<C, D, E>(A a, B b, C c, D d, E e) { }
}
}
リンクは次のようになります。
M:Test.FancyClass`2.FancyMethod``3(`0,`1,``0,``1,``2)
または「メソッドのパラメータは、3つの型パラメータを持つメソッドを持つ2種類のパラメータを持つクラスClassType1
、ClassType2
、MethodType1
、MethodType2
、MethodType3
」
追加のメモとして、このドキュメントはどこにも記載されておらず、私は天才ではありません。コンパイラーがすべてを教えてくれました。テストプロジェクトを作成し、XMLドキュメントを有効にしてから、リンクを作成するコードを挿入して、XMLドキュメントコメントの開始を挿入するだけです(///
):
namespace Test
{
public class FancyClass<T>
{
///
public string FancyMethod<K>(T value) { return "something fancy"; }
}
public class Test
{
public static void Main(string[] args) { }
}
}
次に、プロジェクトをビルドします。出力されたXMLドキュメントには、属性の下のdoc
-> members
-> member
要素にリンクが含まれますname
。
<?xml version="1.0"?>
<doc>
<assembly>
<name>Test</name>
</assembly>
<members>
<member name="M:Test.FancyClass`1.FancyMethod``1(`0)">
</member>
</members>
</doc>