Ни один из приведенных ответов не работает для меня полностью. ReSharper не будет преобразовывать тег see в Ctrlссылку + click -able (например, ), пока он полностью не разрешится.
Если бы метод в OP находился в вызванном пространстве имен Test
, полностью разрешенная ссылка на показанный метод была бы:
<see cref="M:Test.FancyClass`1.FancyMethod``1(`0)"/>
Как вы можете выяснить, перед числом параметров типа класса должен быть только один обратный трюк, затем два обратных тика перед числом параметров типа метода, тогда параметры являются индексированным параметром с нулевым индексом и соответствующим количеством обратных токов.
Таким образом, мы можем видеть, что FancyClass
имеет один параметр типа класса, FancyMethod
имеет один параметр типа и объект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)
Или «Класс с параметрами два типа , который имеет метод с тремя параметрами типа , где параметры метода 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>