Kleine Tipps für Zwischendurch (Teil 138) – Typenhierarchien über psobject.TypeNames sichtbar machen

Das ist wieder etwas für die „Auf diese Dinge kommt man nicht unbedingt von alleine-Rubrik“. Zwischen den Typen (Klassen) der .NET-Klassenbibliothek existiert bekanntlich eine Hierarchie. Ganz oben steht die System.Object-Klasse, von der sich alle übrigen Klassen (Typen) ableiten. Die PowerShell-Typen gehören zum Namespace System.Management.Automation.

Im PowerShell-Praxisalltag spielt diese Hierarchie zwar nur selten eine Rolle, trotzdem kann es lehrreich sein, sich die Klassenhierarchie anzeigen lassen zu können. Was sicher nicht jeder wissen dürfte, über die PsObject-Property und die TypeNames-Properties des Objekts, das PsObject zurückgibt, werden die Namen der Klassenhierarchie aufgelistet.

Besonders praktisch ist dies bei Fehlermeldungen und dem Exception-Objekt, das dahinter steht, da es hier in der Regel eine etwas längere „Vererbungskette“ gibt:

PS>$Error[0].Exception.TypeNames
PS>$Error[0].Exception.psobject.TypeNames
System.Management.Automation.CommandNotFoundException
System.Management.Automation.RuntimeException
System.SystemException
System.Exception
System.Object

Schreibe einen Kommentar

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s