2014-04-20 7 views
5

Wir versuchen, von Roslyns CTP zur neuesten Roslyn-Version zu migrieren. Aber scheint, dass sie DocumentationProvider Logik aktualisiert. In CTP verwendete es DocumentationComment Klasse, die von diesem Anbieter zurückgegeben wurde. Diese Klasse hat nützliche Logik für XML-Analyse für diese EigenschaftenWarum das Roslyn-Team DocumentationComment als intern markiert

public string FullXmlFragmentOpt { get; private set; } 

public string ExampleTextOpt { get; private set; } 

public string SummaryTextOpt { get; private set; } 

public string ReturnsTextOpt { get; private set; } 

In der neuen Version von Roslyn DocumentationComment Klasse wurde mit neuen Eigenschaften verbessert, aber es war irgendwie markiert als internal. Und jetzt DocumentationProvider gibt nur die vollständige Zeichenfolge mit XML-Inhalt zurück. Und als DocumentationComment ist eine interne Klasse - wir können es nicht verwenden.

Gibt es einen Grund, warum Roslyn Team es getan hat? Oder vielleicht werden sie es in der nächsten Version zurückgeben?

+0

Die einzige Person in der Lage, eine Antwort in Bezug auf die Motivation des Teams zu liefern wäre ein Mitglied des Teams. – Crippledsmurf

+3

Ja, stimme zu. Deshalb frage ich hier mit Roslyns Tags. Vielleicht wird jemand aus dem Team diese Frage lesen und einige Details dazu geben. –

+2

Ich habe eine E-Mail an einige Leute geschickt, die sich vielleicht besser erinnern können als ich. Wenn ich Quellcode-Verlauf anschaue, ist das beste, dass es ein Versehen ist, aber das ist nicht wirklich eine "Antwort" ... –

Antwort

4

Die DocumentationComment-Klasse wurde aus dem Compiler-Layer entfernt und intern gemacht, weil sie nicht alle Details in einem Dokumentationskommentar beschreiben konnte, da sie andere Fragmente wie see und cref enthielt und tatsächlich beliebige enthalten konnte anderes XML-Tag, das Sie wollten. Die einzige Struktur, die als Teil der öffentlichen API Sinn ergab, war eine XML-Zeichenfolge, von der Sie einen XML-Reader oder ein DOM verwenden konnten, um sie auseinander zu nehmen. Wie es jetzt ist, ist die DocumentationComment-Klasse ein Implementierungsdetail einer einzelnen Roslyn-Funktion.

Da es Open Source ist, können Sie es verwenden, wenn Sie möchten, indem Sie den Code kopieren. Die tatsächliche interne Klasse unterliegt Änderungen und könnte sogar entfernt werden

+0

Ich habe es. Vielen Dank für die ausführliche Erklärung! –

Verwandte Themen