Klassenbrowser

Eintrag zuletzt aktualisiert am: 07.03.2004

Klassenbrowser ermöglichen, die von einer Komponente exportierten Typen und deren Mitglieder zu erforschen. Die Auswahl von Klassenbrowsern für .NET-Assemblies ist groß: Im .NET Framework SDK gibt es den Windows Class Viewer (WinCV.exe), der allerdings nur die Framework Class Library betrachtet. Der Windows Class Viewer hilft bei der Suche nach einer geeigneten Klassen, indem er alle FCL-Klassen sucht, in denen ein bestimmtes Wort vorkommt. Zu einer ausgewählten Klasse zeigt er dann die Deklaration in C# an.

Der Objektbrowser ist ein Fenster von Visual Studio .NET. Er ist die Weiterentwicklung des Objektkatalogs aus Visual Basic 6.0 bzw. Visual InterDev 6.0. Optisch basiert der Objektbrowser stark auf dem Objektkatalog in Visual InterDev. Der Objektbrowser zeigt, gegliedert nach Komponenten, hierarchisch die Namespaces und die dort enthaltenen Typen an. Zu jedem Typ listet der Objektbrowser die Mitglieder (Attribute, Methoden, Ereignisse) auf - in der Regel ist auch ein kurzer Hilfetext verfügbar. Auch die Vererbung und die implementierten Schnittstellen sind erkennbar. Die Taste F1 führt zu den passenden Seiten in der Framework SDK-Dokumentation. Die Suchfunktion läuft nicht nur über die Klassen, sondern auch über die Mitgliedernamen. Der Objektkatalog kann nicht nur .NET-Komponenten, sondern auch COM-Komponenten anzeigen. Nicht alle auf dem System verfügbaren Komponenten listet er automatisch auf: Damit eine Komponente betrachtet werden kann, muss der Entwickler erst einen Verweis im Visual Studio .NET-Projekt setzen.

Der Class Browser ist eine mit dem Framework SDK mitgelieferte Beispiel-Anwendung (im Verzeichnis Samples/Quickstart/aspplus/ClassBrowser), die einen ähnlichen Zweck erfüllt wie der Objektbrowser von Visual Studio.NET. Allerdings ist der Class Browser eine ASP.NET-Webanwendung, die der Entwickler über den Browser aufrufen kann, sofern die Webanwendung auf dem lokalen Webserver oder einem entfernten Webserver bereitgestellt wurde. Im Gegensatz zum Objektbrowser muss der Entwickler die Verweise hier über die web.config-Datei der ASP.NET-Anwendung setzen; die wichtigsten FCL-Assemblies werden automatisch in der Liste angezeigt.

Der von Lutz Roeder entwickelte .NET Reflector (http://www.aisto.com/roeder/dotnet/) ist ein Klassenbrowser, der dem in Visual Studio .NET enthaltenen Objektbrowser in der Funktionalität sehr nahe kommt. Im Gegensatz zu seinem Vorbild ist der Reflector jedoch eine eigenständige Windows-Anwendung.

Mehr als ein Klassenbrowser ist ILDasm.exe, das beim .NET Framework SDK mitgeliefert wird: ILDasm.exe ist auch ein Disassembler, der den MSIL-Code einer beliebigen .NET-Assembly (Anwendung oder Softwarekomponente) in gut lesbarer Form anzeigt.

Noch gefürchteter ist Anakrino (http://www.saurik.com/net/exemplar/), ein Freeware-Tool, das aus dem MSIL-Code und den Meta-Daten einer Assembly C#-Quellcode erzeugt.