Ist es möglich, zu erhalten-Klasse Zusammenfassung zur Laufzeit?
Ist es möglich, zu erhalten-Klasse Zusammenfassung zur Laufzeit in C#?
Ich möchte erhalten, Klasse Zusammenfassung durch Reflexion und dann schreiben Sie es an die Konsole.
Die Klasse Zusammenfassung, die ich meine Inhaltsangabe Kommentare vor der Klasse definition, so etwas wie dieses:
///<summary>
///some description
///</summary>
class SomeClass
{
}
Ich weiß nicht, ob diese Kommentare finden Sie nach dem kompilieren des Codes, aber wenn Sie sind, vielleicht gibt es einen Weg, Sie zu erhalten, in code.
Vielen Dank im Voraus für die Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich einmal versaut mit dieser eine Weile zurück, und verwendet diese Jungs Lösung. Funktionierte ziemlich gut:
http://jimblackler.net/blog/?p=49
Ich behaupte die Jolt.NET Projekt auf CodePlex und umgesetzt haben, ein feature, das führt genau dieser Aufgabe. Bitte beachten Sie die Ruck Bibliothek für weitere Informationen.
Im wesentlichen, die Bibliothek ermöglicht es Ihnen, programmgesteuert suchen und eine Abfrage an einer XML-doc-Kommentare Datei eine assembly mit den Metadaten-Typen in
System.Reflection
(d.h.MethodInfo
,PropertyInfo
, etc...).NÖ, sind Sie nicht durch Reflexion. Sehen msdn:
Können Sie den Zugriff auf diese zur Laufzeit, denn diese werden als Kommentare, die vom compiler.
Jedoch, wenn Sie wollte, um ein Attribut verwenden, um anzugeben, Informationen und Zugriff während der Laufzeit per reflection könnte man das tun.
Sehen Erstellen Benutzerdefinierter Attribute (C# - Programmierhandbuch) für Attribut-Erstellung und Zugriff Auf Attribute Mit Reflektion (C# - Programmierhandbuch) für runtime-Zugriff.
Beispiel aus der MSDN:
Autor.cs:
SampleClass.cs:
Können Sie, wenn Sie Strahlen eine XML-Dokumentation-Datei. Der Prozess würde bedeuten, mit Reflexion, um alle öffentlichen Mitglieder der Typ, dann die Verwendung von XPath, Lesen Sie die Dokumentation aus dem generierten XML-Dokument.
UPDATE: enthalten das XML-Dokument in Ihre dll - /exe-Datei, fügen Sie es einfach als eingebettete Ressource, und kompilieren Sie zweimal, wenn änderungen an der Dokumentation.
Nein, die Kommentare sind nicht in der kompilierten assembly.
Visual Studio erstellen zu können .xml-Datei in Ihre Ausgabe-Ordner (\bin\your_project.xml) enthält die Kommentare. Wenn Ihre Anwendung verteilt wurden, mit, dass die xml-Datei dann würden Sie in der Lage sind, Zugang zu programmatisch.