Je suis curieux de savoir pourquoi je reçois un avertissement de compilateur dans la situation suivante.C# XML Documentation Compiler Avertissement
/// <summary>This is class A
/// </summary>
public class A
{
/// <summary>This is the documentation for Method A
/// </summary>
public void MethodA()
{
//Do something
}
}
/// <summary>This is class B
/// </summary>
public class B : A
{
/// <summary>This does something that I want to
/// reference <see cref="MethodA"/>
/// </summary>
public void MethodB()
{
//Do something
}
}
L'avertissement que "commentaire XML sur 'B.MethodB()' a cref attribut 'METHODA' qui ne pouvait pas être résolu." Si B hérite de A, le compilateur ne devrait-il pas voir cette méthode lors de la génération de la documentation sans que je spécifie la classe parent dans le cref? Si je change le cref pour être cref="A.MethodA()"
cela fonctionne bien, mais il semble que ce soit inutile et est une peine à faire, surtout si je dois monter à plus d'un niveau.
À titre de note à tous ceux qui testent cela, vous devez vous assurer que "Fichier de documentation XML" a été coché dans Propriétés -> Construire afin de voir l'avertissement.
Y at-il une raison pour laquelle il a besoin de la qualification et ne peut pas rechercher l'arbre lui-même? –
@Craig: Vous ne devriez pas le regarder comme un appel de méthode. C'est plutôt un lien vers une certaine page de documentation. Puisque 'MethodA' est documenté sur la page de documentation pour la classe' A', vous avez besoin de la référence. La documentation n'est pas vraiment "compilée" comme le code actuel. La documentation n'est pas héritée. – chiccodoro