żadna z odpowiedzi przedstawionych do tej pory całkowicie pracy dla mnie. ReSharper nie przekonwertuje tagu see na link Ctrl + klikalny (np. ), chyba że zostanie całkowicie rozwiązany.
Jeśli metoda w PO były w przestrzeni nazw Test
, całkowicie rozwiązany link do sposobu przedstawionego byłoby:
<see cref="M:Test.FancyClass`1.FancyMethod``1(`0)"/>
Jak być może uda się wypracować, nie powinno być jedynie jedno cofnięcie przed liczbą parametrów typu klasy, a następnie dwa odrzucenia przed liczbą parametrów typu metody, następnie parametry są parametrem zindeksowanym 0 z odpowiednią liczbą odrzutów.
Widzimy więc, że FancyClass ma 1 typ klasy, parametr FancyMethod ma jeden parametr, a obiekt typu FancyClass zostanie przekazany do metody.
Jak można bardziej wyraźnie zobaczyć w poniższym przykładzie:
namespace Test
{
public class FancyClass<A, B>
{
public void FancyMethod<C, D, E>(A a, B b, C c, D d, E e) { }
}
}
Link staje:
M:Test.FancyClass`2.FancyMethod``3(`0,`1,``0,``1,``2)
Albo "Class with 2 type parameters
który ma method with 3 type parameters
gdzie parametry metody ClassType1
, ClassType2
, MethodType1
, MethodType2
, MethodType3
)
Jako dodatkową notatkę, nie znalazłem tego udokumentowanego gdziekolwiek i nie jestem geniuszem, kompilator powiedział mi o tym wszystkim.Wszystko co musisz zrobić, to stworzyć projekt testowy, enable XML documentation, a następnie wstawić kod, który ma wypracować link i umieścić początek komentarzu XML doc na nim (///
):
namespace Test
{
public class FancyClass<T>
{
///
public string FancyMethod<K>(T value) { return "something fancy"; }
}
public class Test
{
public static void Main(string[] args) { }
}
}
Następnie budować Twój projekt, a wyprowadzane dokumentacja XML zawiera link w doc
-> ->member
members
elementu pod atrybutem name
:
<?xml version="1.0"?>
<doc>
<assembly>
<name>Test</name>
</assembly>
<members>
<member name="M:Test.FancyClass`1.FancyMethod``1(`0)">
</member>
</members>
</doc>
(Przewiń w dół na moją odpowiedź na to pytanie 7-letniej). – JohnL4