Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Visual Studio 2013 Grundkurs

Objektkatalog

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der Objektkatalog verwaltet sämtliche in einem Projekt verwendeten Konstrukte. Dazu zählen Klassen, Methoden, Eigenschaften, Interfaces sowie Namensbereiche.
06:03

Transkript

Jeder, der schon länger mit .NET oder C# programmiert, weiß, dass das .NET Framework und die darunterliegende Base Class Library einfach gigantisch ist. Besonders wenn ich noch neuere Bibliotheken und irgendwelche Fremdbibliotheken dazu binde, wird diese Menge von Klassen einfach immer mehr und immer weniger durchschaubar. Oftmals muss ich aber Informationen beschaffen zu bestimmten Klassen, welche Methoden diese anbietet, welche Überladungen, welche Klassen in gewissen Namespaces enhalten sind, welche Namespaces es gibt. Wenn ich eine gewisse Aufgabe durchzuführen habe, muss ich die Base Class Library durchsuchen, gucken, ob die entsprechende Klasse schon vorhanden ist, bevor ich sie von Hand implementiere. Wenn ich solche Such-Tasks innerhalb von der .NET Framework Base Class Library oder eine fremde Library machen möchte, kann ich das natürlich auf Basis von irgendwelchen Webressourcen machen. Wikis, Tutorials oder Google im schlimmsten Fall, oder ich verwende direkt den Objektkatalog, heißt das leider auf Deutsch, - tut mir leid - im Englischen ist es der Object Browser. Und mit diesem Object Browser kann ich mir direkt gezielt Informationen zu .NET Framework- Bibliotheken, Fremdbibliotheken und vor allen Dingen auch dem eigenen geschriebenen Code beorgen. Das Ganze schauen wir uns jetzt mal an. Der Objektkatalog ist ein Fenster, wie alle anderen Fenster auch, Projektmappen-Explorer, Eigenschaften-Fenster oder zum Beispiel der Werkzeugkasten. Und über die Ansicht und dann hier unten Objektkatalog bekomme ich dieses Fenster des Objektkatalogs. Standardmäßig dockt sich das Ganze hier im Quellcode-Fenster an. Und man sieht es schon auf der linken Seite, dass wir hier eine riesige Liste an allen möglichen Assemblies bekommen. Und es sind in der Tat all die Assemblies, die wir bei uns auf dem System installiert haben, das heißt die, die im globalen Assembly Cache liegen, und zusätzlich noch die entsprechenden Projekte, die wir hier in unserer Anwendung geschrieben haben. Das heißt, wenn ich mir jetzt den System Namespace einmal anschauen wollte, dann könnte ich hierhin gehen und könnte mir die entsprechende Stelle suchen. Hier oben könnten wir uns dann noch die Assembly aussuchen, wir nehmen mal die "5.0.5.0". Und wir sehen in der entsprechenden Assembly sind hier verschiedene Namespaces enthalten, einmal System, dann Codedom, Collections, ComponentModel, Diagnostics und Text.RegularExpressions. Wir schauen mal hier den System Namespaces rein, klappen das aus, und sehen hier das da eine ganze Menge an einzelnen Klassen definiert sind, sind natürlich nicht alle, die wir erwartet hätten im System Namespace, aber die können sich auch auf mehrere Assemblies verteilen. Wir haben hier jetzt zum Beispiel die Klasse "Uri" und ich kann das Ganze hier mal ausklappen. Dann sehen wir hier noch die abgeleiteten Typen, also alle Klassen, die von Uri ableiten. In diesem Fall weiss ich nicht, ob welche dabei sind - wir schauen uns das mal an, nein sind es nicht. Und ich kann mir die Basistypen anschauen, es gibt hier auch keinen Basistyp, nur Object. Auf dem rechten Seite, hier in diesem Fenster, werden mir alle Member angezeigt, die von dieser Klasse angeboten werden. Und ich kann mir die anschauen, genau wie Intellisense, lila sind die Methoden, dann hier blau sind die Operatoren, dieser Schraubenschlüssel sind entsprechende Properties, und das hier, das Blaue sind dann Felder. Hier wirkt es jetzt gerade nicht so wirklich umwerfend, was wir dort sehen, da wir keine Überladung angezeigt bekommen. Ich schau gerade mal, ob ich irgendwo etwas mit einer Überladung finde. Hier sehen wir mehrere Überladungen, wir haben hier den "UriFormatException" Datentyp. Und hier sieht man, ich habe drei verschiedene Überladungen, kann also wirklich alles hier auf einen Blick sehen, und das Schöne ist, hier unten bekomme ich mal etwas aussagekräftigere Dokumentation dieser Schnittstelle, und sehe, okay, das hier genau ist die Signatur. Ich sehe, was das Ganze für ein Member ist, "System.UriFormatException". Hier eine entsprechende Zusammenfasung, die mir noch mal ein Text, eine Beschreibung dieser Klasse gibt. Und hier eine Beschreibung für die einzelnen Parameter. Diese Informationen hier werden aus den XML Kommentaren generiert, die wir über Methoden, Properties oder Klassen schreiben können. Das heißt, wenn ich jetzt hier in den entsprechenden Meta-Informationen zu dieser Klasse schauen würde, könnte ich mir anzeigen lassen was genau in diesen Informationen, hier in den XML Kommentaren stehen. Das hier wie gesagt, kann ich auf System Assemblies verwenden, auf installierte Assemblies, von irgendwelchen Fremdherstellern, und natürlich auf die Eigenen, das heißt ich kann mir jetzt hier oben an verschiedenen Membern meine Klasse anschauen, Basistypen hier sehe ich die Member. Die Dokumentation hier ist natürlich etwas spärlich, klar wir haben noch keine weiteren XML Kommentare angegeben. Aber wenn wir das gemacht hätten, könnten wir uns genauso Information zu diese Datentypen holen, wie wir das eben schon gesehen haben für die .NET Framework Typen. Zusätzlich kann ich, wenn ich in dieser riesigen Menge von Assemblies irgendwann mal eine Passende gefunden habe, zum Beispiel "System.Printing", und ich weiss jetzt... ich möchte hier die "PrintJobSettings"-Klasse verwenden, und ich möchte Sie jetzt genau hier oben in meiner Console-Application verwenden, und könnte hier einen Rechtsklick machen und dann ein Verweis hinzufügen, genau den Namen der Assembly nochmal suchen oder ich kann hier oben sagen: "Okay, bitte den Verweis zum aktuellen Projekt hinzufügen". Dann sagt er mir: "der Verweis auf System.Printing wurde ConsoleApplication1 erfolgreich hinzugefügt". Und ich jetzt hier in der Liste schaue, werden wir hier System.Printing haben. Das heißt wenn ich Informationen bekommen möchte, gibt es eine Klasse schon, wo gibt es eine bestimmte Klasse, suche ich die hier, beschaffe mir die Information, ist es das Richtige, was ich suche, oder nicht, und wenn ja, füge ich das mit einen Klick meinen Referenzen hinzu und kann dann im Code damit arbeiten. Zusätzlich kann ich natürlich hier oben auch nach entsprechenden Typen suchen, klar, so eine Filterfunktion und... kann dann auf diese zuletzt durchgeführten Suchen zurückgreifen. Als letztes schauen wir das nochmal an das sind die verschiedenen Einstellungsmöglichkeiten, das heißt hier kann ich sagen, welche Elemente sichtbar sind, sollen die Basistypen angezeigt werden, die abgeleiteten Typen, Namespaces, Container und so weiter, und so fort, ob die geerbten Member angezeigt werden, standardmässig ausgeschaltet, empfehle ich das anzuschalten, weil man dann sieht, was von den Basisklassen abgeleitet wird. Aber wie gesagt, das kann man so anpassen, wie man es gerne haben möchte. Wir haben uns in diesem Video mal den Objektkatalog angeschaut, oder im Englisch Object Browser. Und der Objektkatalog hilft uns dabei Informationen zu Klassen aus anderen Klassensystemen zu finden. Ob diese Klassensysteme jetzt das .NET Framework sind, irgendwelche Fremd-Assemblies oder unsere Assemblies, spielt ja keine Rolle, dort kann ich Schrittweise in diese Typen reindrillen, erst auf Namespace-Ebene, dann auf Typ-Ebene, dann auf Member-Ebene, und wenn ich entsprechende XML-Kommentare verwendet habe, kann ich mir auch die Dokumentation zu diesem Typen anschauen.

Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!