Şimdiye kadar gösterilen cevapların hiçbiri benim için tamamen işe yaramıyor. ReSharper see etiketi Ctrl+ tıklanabilir bir bağlantıya dönüştürmez (ör. tam olarak çözümlenmedikçe ) .
OP'deki yöntem adı verilen bir ad alanında Test
olsaydı, gösterilen yönteme tamamen çözümlenmiş bağlantı şöyle olurdu:
<see cref="M:Test.FancyClass`1.FancyMethod``1(`0)"/>
Çalışabileceğiniz gibi, sınıf tipi parametre sayısından önce yalnızca bir backtick, daha sonra yöntem türü parametre sayısından önce iki backtick olmalı, sonra parametreler uygun sayıda backtick ile sıfır indeksli parametredir.
Bu nedenle FancyClass
, bir sınıf tipi parametresinin, FancyMethod
bir tür parametresinin olduğunu ve FancyClass
parametre türünde bir nesnenin yönteme aktarılacağını görebiliriz.
Bu örnekte daha net görebileceğiniz gibi:
namespace Test
{
public class FancyClass<A, B>
{
public void FancyMethod<C, D, E>(A a, B b, C c, D d, E e) { }
}
}
Bağlantı şöyle olur:
M:Test.FancyClass`2.FancyMethod``3(`0,`1,``0,``1,``2)
Ya da "üç tip parametrelerle bir yöntem vardır iki tip parametrelerle Sınıf yöntemi parametrelerdir nerede ClassType1
, ClassType2
, MethodType1
, MethodType2
, MethodType3
"
Ek bir not olarak, bunu hiçbir yerde belgeledim ve bir dahi değilim, derleyici bana tüm bunları söyledi. Tek yapmanız gereken bir test projesi oluşturmak, XML dokümantasyonunu etkinleştirmek , daha sonra bir bağlantı oluşturmak istediğiniz kodu eklemek ve üzerine bir XML dokümanı yorumunun başlangıcını koymaktır ( ///
):
namespace Test
{
public class FancyClass<T>
{
///
public string FancyMethod<K>(T value) { return "something fancy"; }
}
public class Test
{
public static void Main(string[] args) { }
}
}
Sonra projenizi oluşturun ve çıktı XML belgelerinde öznitelik altında doc
-> members
-> member
öğesindeki bağlantı içerir name
:
<?xml version="1.0"?>
<doc>
<assembly>
<name>Test</name>
</assembly>
<members>
<member name="M:Test.FancyClass`1.FancyMethod``1(`0)">
</member>
</members>
</doc>