Aucune des réponses présentées jusqu'à présent ne fonctionne complètement pour moi. ReSharper ne convertira pas la balise see en un Ctrllien + cliquable (par exemple ) à moins qu'elle ne soit complètement résolue.
Si la méthode dans l'OP était dans un espace de noms appelé Test
, le lien complètement résolu vers la méthode affichée serait:
<see cref="M:Test.FancyClass`1.FancyMethod``1(`0)"/>
Comme vous pouvez le faire, il ne devrait y avoir qu'un seul backtick avant le nombre de paramètres de type classe, puis deux backticks avant le nombre de paramètres de type de méthode, puis les paramètres sont le paramètre indexé zéro avec le nombre approprié de backticks.
Nous pouvons donc voir qu'il FancyClass
a un paramètre de type de classe, FancyMethod
un paramètre de type et qu'un objet du FancyClass
type de paramètre sera transmis à la méthode.
Comme vous pouvez le voir plus clairement dans cet exemple:
namespace Test
{
public class FancyClass<A, B>
{
public void FancyMethod<C, D, E>(A a, B b, C c, D d, E e) { }
}
}
Le lien devient:
M:Test.FancyClass`2.FancyMethod``3(`0,`1,``0,``1,``2)
Ou « classe avec deux paramètres de type qui a une méthode avec trois paramètres de type où les paramètres de la méthode sont ClassType1
, ClassType2
, MethodType1
, MethodType2
, MethodType3
»
En plus, je n'ai trouvé cela documenté nulle part et je ne suis pas un génie, le compilateur m'a dit tout cela. Tout ce que vous avez à faire est de créer un projet de test, d' activer la documentation XML , puis d'insérer le code pour lequel vous souhaitez établir un lien et de mettre le début d'un commentaire de doc XML dessus ( ///
):
namespace Test
{
public class FancyClass<T>
{
///
public string FancyMethod<K>(T value) { return "something fancy"; }
}
public class Test
{
public static void Main(string[] args) { }
}
}
Générez ensuite votre projet et la documentation XML générée inclut le lien dans l' élément doc
-> members
-> member
sous l'attribut name
:
<?xml version="1.0"?>
<doc>
<assembly>
<name>Test</name>
</assembly>
<members>
<member name="M:Test.FancyClass`1.FancyMethod``1(`0)">
</member>
</members>
</doc>