Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Share this Page URL
Help

Teil II: Rezepte > Anwendungen, Anwendungskonfiguration, Prozesse und Dienste - Pg. 225

87 Den Dateinamen der Anwendung ermitteln Den vollen Dateinamen der ausführenden Anwendung (inklusive Pfad) erhalten Sie in einer Windows-Anwendung über die Eigenschaft ExecutablePath des Application -Objekts: string filename = System.Windows.Forms.Application.ExecutablePath; Um die Application -Klasse verfügbar zu haben, benötigt die Anwendung einen Verweis auf die Assembly System.Windows.Forms.dll , was ohne Probleme auch in einer Konsolenanwen- dung oder Klassenbibliothek möglich ist. Ohne diesen Verweis können Sie aber auch stattdessen die Eigenschaft Location eines Assem- bly -Objekts abfragen, das die »Eintritts-Assembly« (das ist die Assembly, über die das Pro- gramm gestartet wurde) repräsentiert. Dieses Objekt erhalten Sie über die Methode GetEntryAssembly der Assembly -Klasse, die Bestandteil des System.Reflection -Namensraums ist: string filename = System.Reflection.Assembly.GetEntryAssembly().Location; Als Reflektion (Reflection) werden Features bezeichnet, über die Sie in der Laufzeit eines Programms Informationen über dessen Assemblys, die darin enthaltenen Klassen und deren Schnittstellen, Methoden, Eigenschaften und Ereignisse etc. auslesen können. Ein weiterer Teil von Reflektion ist das dynamische Erzeugen von Klassen und Assemblys, also das Erzeugen von Programmcode in der Laufzeit eines Programms. Häufig wird auch vorgeschlagen, die »ausführende Assembly« zu verwenden, die Sie über die Methode GetExecutingAssembly erreichen: string filename = System.Reflection.Assembly.GetExecutingAssembly().Location; Dabei müssen Sie allerdings aufpassen: Wird diese Methode in einer Klassenbibliothek aufge- rufen, liefert sie ein Assembly -Objekt zurück, das die Assembly der Klassenbibliothek repräsen- tiert. Der ausgelesene Dateiname ist also in diesem Fall nicht der der Anwendung, sondern der der Klassenbibliothek. In allen Fällen erhalten Sie den Dateinamen inklusive Pfad. Wenn Sie nur den Namen der Datei auslesen wollen, können Sie diesen über ein FileInfo -Objekt ermitteln. Ein solches Objekt dient dem Auslesen von Informationen zu einer Datei und liefert unter anderem über die Eigenschaft Name den Dateinamen. Die folgende Funktion liest den Dateinamen der Anwendung aus und liefert diesen zurück: Hinweis Anwendung Anwendungen, Anwendungskonfiguration, Prozesse und Dienste