Copier les commentaires avec le modèle T4
-
24-09-2019 - |
Question
Je suis la génération d'une classe à partir d'une interface à l'aide des modèles T4, et je veux être en mesure de copier xml-commentaires de l'interface aux méthodes de classe. Est-il possible et si oui, comment?
Dans mon modèle, je prends juste les méthodes d'interface et les copier comme ceci:
foreach(var m in typeof(IFrontEndService).GetMethods())
{
<#= "Some output here"; #>
}
La solution
Malheureusement, je ne suis pas au courant d'une API publique existante pour la lecture des commentaires de XMLDoc. Vous êtes un peu coincé lisant les commentaires sur le fichier XML sur le disque. Malheureusement, la cartographie des noms de membres aux identifiants utilisés dans le fichier XML est non trivial. J'utilise une variante de la méthode décrite à http://www.binarycoder.net/fxcop /html/doccomments.html .
Autres conseils
Une façon serait d'utiliser CodeModel . Voici un exemple d'utilisation de cette API dans un modèle T4: http://www.olegsych.com/2007/12/how-to-use-t4-to-generate-decorator-classes/