Arbeiten mit .NET: Das Framework/ Tipps/ Allgemeines/ Das Hilfe-System

Aus Wikibooks
Wechseln zu: Navigation, Suche

Hier erhalten Sie Hinweise darüber, wie Informationen zu .NET – vor allem zu Klassen und ihren Einzelheiten – zu finden sind.

Sämtliche Erläuterungen zu den .NET-Klassen beruhen auf derselben Wissensdatenbank („Knowledge Base“), nämlich der Online-Hilfe der MSDN zum .NET-Framework. Diese Angaben werden auf unterschiedliche Weise zur Verfügung gestellt.

Hinweis: Screenshots von MS-Produkten dürfen normalerweise nicht öffentlich benutzt werden. Wir dürfen deshalb nur einige Bilder aus SharpDevelop anzeigen.

Innerhalb der IDE[Bearbeiten]

Code-Vervollständigung[Bearbeiten]

SharpDevelop Code-Completion.jpg

Dieses Verfahren, das bei MS-Produkten „Intellisense“ genannt wird, ist ein direktes Hilfsmittel in einer vollwertigen Entwicklungsumgebung. Es ist vor allem für zwei Wege nützlich.

Sobald der Programmierer einen Punkt nach einem Bezeichner (Klasse, Variable usw.) eingibt, versucht die IDE, Vorschläge für den nächsten Schritt anzubieten. Im besten Falle werden im nebenstehenden Beispiel nur Eigenschaften und Methoden angeboten, die einen String liefern. Wenn langsam weitergeschrieben wird, wird die Liste der Vorschläge immer genauer.

Wenn zu einer Methode die öffnende Klammer geschrieben wird, wird die Liste der möglichen Parameter (mit kurzen Erläuterungen) angegeben. Wenn es zu dieser Methode viele Varianten (Überladungen) gibt, kann die Liste (im folgenden Beispiel „14 von 19“) durchgeblättert werden.

SharpDevelop Code-Completion 2.jpg
Vorteile
  • Der Programmierer erkennt sofort, was in der konkreten Situation möglich ist und was nicht.
  • Die Kurzhinweise können, sofern sie vom Programmierer gut formuliert wurden, sehr hilfreich sein.
  • Compilerfehler werden eingeschränkt.
Nachteile
  • Es können aus Platzgründen nur wenige Informationen angezeigt werden.
  • Die IDE kann nur syntaktische Richtigkeit berücksichtigen, keine sachlichen Zusammenhänge.
Hinweise
  • Wenn Sie beim Schreiben auf die Angebote achten, lernen Sie viele Einzelheiten automatisch kennen.
  • Wenn Sie Ihre eigenen Klassen mit guten Kommentaren versehen, helfen Sie sich und den Nutzern Ihrer Klassen.

Kontext-Hilfe[Bearbeiten]

Wie üblich, erhält man mit F1 eine direkte Hilfe zu einem markierten Stichwort. Das funktioniert (abhängig von IDE, Version und dem aktuellen Fenster) unterschiedlich gut und liefert einen Ausschnitt der Informationen, die bei der eigentlichen Hilfe beschrieben werden.

Die eigentliche Hilfe[Bearbeiten]

Sämtliche Informationen sind auf den Microsoft-Seiten gespeichert, und zwar grundsätzlich in Englisch. Die Seiten sind in der Regel auch in Deutsch verfügbar (teilweise in automatisierter, aber durchaus brauchbarer Übersetzung).

Jede Seite enthält auch Verweise auf andere Stichwörter und am Ende unter „Siehe auch“ Hinweise auf Alternativen oder einführende Artikel. Nicht nur Anfänger erfahren durch die Lektüre viele grundlegende und ergänzende Kenntnisse. Nutzen Sie diese Möglichkeiten.

Die Bestandteile der Hilfe stehen in unterschiedlichem Maße zur Verfügung – abhängig von Programm (IDE oder Browser), Sprache (sowohl die natürliche Sprache als auch die Programmiersprache) und Version von .NET oder IDE. Sie müssen deshalb sehen, was davon in Ihrer Arbeitsumgebung möglich ist.

SharpDevelop Help Content DE.jpg
Inhalt

In einem ausführlichen Baum werden alle Bestandteile der Hilfe aufgeführt. Neben der Beschreibung der Klassen gibt es auch Artikel zur .NET-Konzeption und zu verschiedenen Vorgehensweisen. Vor allem die beiden markierten Bereiche sind hilfreich:

  • Die Klassenbibliothek enthält die vollständige Dokumentation mit Erläuterungen: Namespace, Klasse, Eigenschaften/Methoden/Ereignisse, Enumerationen usw.
  • Die Technologieübersicht bietet einen schnellen Überblick über die Themenbereiche von .NET (bei 4.0 mit weniger Informationen als bei 3.5).
Index

Hier sind alle Begriffe enthalten, die auf einer eigenen Seite stehen. Nach Eingabe eines Stichworts springt der Index an die betreffende Stelle. Dann kann man manuell weiterblättern und einen bestimmten Eintrag auswählen. Wenn man stattdessen einen mehrdeutigen Begriff anklickt, werden in einer Liste Indexergebnisse alle Fundstellen dazu angezeigt.

Beispiel: Die Suche nach Copy liefert natürlich sehr viele Stellen. Wenn man etwas „machen“ will, sucht man vorzugsweise nach Methoden; also wird die Suche mit Copy methods fortgesetzt. Dann werden etwa 125 Stellen angezeigt, nämlich jeweils mit Klasse und Namespace.

Dumm ist nur, dass der Index in .NET 4.0 und den IDEs dazu nicht mehr angeboten wird.

Suchfunktion

Eigentlich sollte man annehmen, dass damit die beste Hilfe angeboten wird. Wie bei der Suche im Internet allgemein müssten die voraussichtlich hilfreichsten und genauesten Treffer am Anfang stehen. Aber man muss schon genau wissen, wonach man suchen will, um gute Antworten zu erhalten. Beispiele:

  • Die Suche nach file.copy liefert 20 Treffer, darunter ein paar doppelte Einträge und mittendrin andere Methoden der File-Klasse sowie Einträge, deren Zusammenhang mit dem Suchbegriff nicht klar wird. Die Reihenfolge der Treffer scheint dem Zufallsprinzip zu folgen.
  • Die Suche nach namespace system.io liefert 3088 Treffer, darunter die Definition der Klassen. Ganz oben wird auf die Übersicht der Standard-Namespaces verwiesen, aber die Übersichtsseite von System.IO fehlt. Die wird nur angezeigt, wenn wirklich nach system.io-namespace (mit Bindestrich!) gesucht wird. Warum diese dann dreifach angezeigt wird, ist auch verwunderlich und erst bei genauer Kenntnis der Klassenbibliothek verständlich.
  • Die Suche nach file class zeigt 12024 oder 14460 Treffer. Die Definition der Klasse im Standardnamespace System.IO ist unter den ersten 200 Treffern nicht dabei.

Eine „erweiterte Suche“, wie sie in Foren (und auch bei Wikibooks) zur Verfügung steht, gibt es nicht. Deshalb kann man die Suche auch nicht nach dem Namespace oder nach Eigenschaften und Methoden einschränken oder die Sortierung beeinflussen. Es ist noch nicht einmal möglich, von Seite 20 der Ergebnisliste direkt an den Anfang oder an das Ende zu springen.

MSDN[Bearbeiten]

Wie kann ich ... erreichen[Bearbeiten]

Alle bisherigen Vorschläge setzen voraus, dass der Programmierer bereits weiß, mit welchem Thema (Klasse, Eigenschaft, Methode) er sich befassen muss. Es funktioniert nicht, wenn er erst noch ein Verfahren finden will. Dann muss er mit den Suchmöglichkeiten einen Weg finden. Wir wollen das an einem Beispiel verdeutlichen.

Wie kann man aus einem Dateinamen den Pfad, den eigentlichen Dateinamen und die Erweiterung herausholen sowie die Dateierweiterung ändern?

  1. Suche im Index nach passenden Stichwörtern. Das ist üblicherweise einfach die englische Übersetzung eines Begriffs, hier File oder Path zu Datei und Pfad.
  2. Wähle bei den angezeigten Stichwörtern eine geeignete Klasse aus, in diesem Fall File class.
  3. Wähle bei dieser Klasse eine bestimmte Information; das sind je nach Art der Klasse oder der gewünschten Aufgabe:
    • properties
    • methods
    • fields
    • constructors
    • all members
  4. Lies die jeweiligen Kurzbeschreibungen durch; dann wird man sehr oft schnell fündig.

Beachte dabei die folgenden Hinweise:

  • overloaded bei Methoden und Konstruktoren verweisen auf mögliche Varianten.
  • Bemerkungen vor allem bei der Klasse erläutern ihren Zweck.
  • Siehe auch verweist auf andere Klassen mit ähnlichen Aufgaben und auf Artikel, vor allem How-to's.

Weitere Möglichkeiten[Bearbeiten]

Zur Definition gehen[Bearbeiten]

ObjectBrowser[Bearbeiten]

Framework-Quelltext[Bearbeiten]

Foren[Bearbeiten]

Wikipedia[Bearbeiten]