Copiare commenti con template T4
-
24-09-2019 - |
Domanda
Sto generando una classe da un'interfaccia con T4 template, e voglio essere in grado di copiare xml-comments dall'interfaccia per i metodi della classe. E 'possibile e se sì, come?
Nel mio modello sto solo prendendo i metodi di interfaccia e copiandoli in questo modo:
foreach(var m in typeof(IFrontEndService).GetMethods())
{
<#= "Some output here"; #>
}
Soluzione
Purtroppo, io non sono a conoscenza di API pubblica esistente per leggere i commenti xmlDoc. Sei praticamente bloccato leggendo i commenti di file XML su disco. Purtroppo, la mappatura dei nomi dei membri per gli identificatori utilizzati nel file XML non è banale. Uso una variante del metodo descritto in http://www.binarycoder.net/fxcop /html/doccomments.html .
Altri suggerimenti
Un modo sarebbe utilizzando CodeModel . Ecco un esempio di utilizzo di questa API in un modello T4: http://www.olegsych.com/2007/12/how-to-use-t4-to-generate-decorator-classes/