2014-04-20 5 views
5

Stiamo provando a migrare dal CTP di Roslyn all'ultima versione di Roslyn. Ma sembra che abbiano aggiornato la logica DocumentationProvider. In CTP è stata utilizzata la classe DocumentationComment restituita da questo provider. Questa classe ha una logica utile per xml parsing per queste proprietàPerché il team di Roslyn ha contrassegnato DocumentationComment come interno

public string FullXmlFragmentOpt { get; private set; } 

public string ExampleTextOpt { get; private set; } 

public string SummaryTextOpt { get; private set; } 

public string ReturnsTextOpt { get; private set; } 

Nella nuova versione di Roslyn DocumentationComment classe è stato migliorato con nuove proprietà, ma in qualche modo è stato contrassegnato come internal. E ora DocumentationProvider restituisce solo la stringa completa con contenuto XML. E come DocumentationComment è una classe interna - non possiamo usarla.

C'è un motivo per cui il team di Roslyn l'ha fatto? O forse lo restituiranno nella prossima versione?

+0

L'unica persona in grado di fornire una risposta in merito alla motivazione della squadra sarebbe un membro della squadra. – Crippledsmurf

+3

Sì, d'accordo. è per questo che sto chiedendo qui con i tag di Roslyn. Forse qualcuno del team leggerà questa domanda e fornirà alcuni dettagli per questo. –

+2

Ho inviato un'e-mail a poche persone che potrebbero ricordare meglio di me. Guardando la cronologia del controllo sorgente, il meglio che posso dire è che si tratta di una svista, ma non è davvero una "risposta" ... –

risposta

4

La classe DocumentationComment è stata spostata fuori dal livello del compilatore e resa interna perché è stata determinata essere insufficiente a descrivere tutti i dettagli in un commento di documentazione, dal momento che conteneva altri frammenti come vedere e cref, e potrebbe infatti contenere qualsiasi altro tag xml che hai desiderato. L'unica struttura che aveva senso come parte dell'API pubblica era una stringa di xml da cui si poteva usare un lettore xml o un DOM per distinguerlo. Come è ora, la classe DocumentationComment è un dettaglio di implementazione di una singola funzionalità di Roslyn.

Poiché è open source, è possibile utilizzarlo se lo si desidera copiando il codice. L'attuale classe interna è soggetta a modifiche e potrebbe anche essere rimossa

+0

ho capito. Grazie mille per la spiegazione dei dettagli! –

Problemi correlati