Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Kurzbeschreibung
Beschreibt das Schlüsselwort hidden, das Klassenmitglieder aus den standardmäßigen Get-Member-Ergebnissen ausblendet.
Lange Beschreibung
Wenn Sie das Schlüsselwort hidden in einem Skript verwenden, blenden Sie die Mitglieder einer Klasse per Standard aus. Ausgeblendete Mitglieder werden nicht in den Standardergebnissen des cmdlets Get-Member, IntelliSense oder den Tabulatorvervollständigungs-Ergebnissen angezeigt. Um Mitglieder anzuzeigen, die Sie mit dem Schlüsselwort hidden ausgeblendet haben, fügen Sie den Parameter Force zu einem Get-Member Befehl hinzu.
Das Schlüsselwort hidden kann Folgendes ausblenden:
- Methoden (einschließlich Konstruktoren)
- Ereignisse
- Alias-Eigenschaften
- andere Mitgliedertypen (einschließlich statischer Mitglieder)
Ausgeblendete Member werden bei der Tab-Vervollständigung oder in IntelliSense nicht angezeigt, es sei denn, die Vervollständigung erfolgt in der Klasse, die das ausgeblendete Member definiert.
Das neue Attribut System.Management.Automation.HiddenAttributeermöglicht es dem C#-Code, dieselben Semantiken in PowerShell zu haben.
Das Schlüsselwort hidden ist nützlich, um Eigenschaften und Methoden innerhalb einer Klasse zu erstellen, von denen Sie nicht unbedingt möchten, dass die Benutzer der Klasse sie sehen oder ohne weiteres bearbeiten können.
Das Schlüsselwort hidden hat keine Auswirkung darauf, wie Sie Member einer Klasse anzeigen oder ändern können. Wie bei allen Sprachschlüsselwörtern in PowerShell hidden ist nicht groß- und kleinschreibungsempfindlich, und ausgeblendete Member sind weiterhin öffentlich.
Das Schlüsselwort hidden wurde zusammen mit angepassten Klassen in Windows PowerShell 5.0 eingeführt.
BEISPIEL
Das folgende Beispiel zeigt, wie Sie das Schlüsselwort hidden in einer Klassendefinition verwenden. Die Car-Klassenmethode Drive verfügt über eine Eigenschaft Fahrten, die nicht angezeigt oder geändert werden muss, da sie lediglich die Anzahl der Aufrufe von Drive auf der Car-Klasse zählt. Diese Metrik ist für Benutzer der Klasse nicht wichtig (denken Sie beispielsweise daran, dass Sie den Verkäufer beim Kauf eines Autos nicht danach fragen, wie oft das Auto gefahren wurde).
Da es für die Nutzer dieser Klasse wenig Notwendigkeit gibt, diese Eigenschaft zu ändern, können wir die Eigenschaft aus Get-Member und den automatischen Abschlussergebnissen ausblenden, indem wir das Schlüsselwort hidden verwenden.
Fügen Sie das Schlüsselwort hidden hinzu, indem Sie es in derselben Anweisungszeile wie die Eigenschaft und den zugehörigen Datentyp eingeben. Obwohl das Schlüsselwort in beliebiger Reihenfolge in dieser Zeile stehen kann, erleichtert Ihnen das Starten der Anweisung mit dem Schlüsselwort hidden später das Identifizieren aller Mitglieder, die Sie ausgeblendet haben.
class Car
{
# Properties
[String] $Color
[String] $ModelYear
[int] $Distance
# Method
[int] Drive ([int]$miles)
{
$this.Distance += $miles
$this.rides++
return $this.Distance
}
# Hidden property of the Drive method
hidden [int] $rides = 0
}
Erstellen Sie nun eine neue Instanz der Klasse Car und speichern Sie sie in einer Variablen $TestCar.
$TestCar = [Car]::new()
Nachdem Sie die neue Instanz erstellt haben, leiten Sie den Inhalt der Variablen $TestCar nach Get-Member. Beachten Sie, dass die Fahrt- Eigenschaft nicht zu den Mitgliedern gehört, die in den Get-Member-Befehlsergebnissen aufgeführt sind.
PS C:\Windows\system32> $TestCar | Get-Member
TypeName: Car
Name MemberType Definition
---- ---------- ----------
Drive Method int Drive(int miles)
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Color Property string Color {get;set;}
Distance Property int Distance {get;set;}
ModelYear Property string ModelYear {get;set;}
Versuchen Sie nun, Get-Member erneut auszuführen, fügen Sie dieses Mal jedoch den Parameter -Force hinzu.
Beachten Sie, dass die Ergebnisse die ausgeblendete Eigenschaft Fahrten enthalten, neben anderen Elementen, die standardmäßig ausgeblendet sind.
PS C:\Windows\system32> $TestCar | Get-Member -Force
TypeName: Car
Name MemberType Definition
---- ---------- ----------
pstypenames CodeProperty System.Collections.ObjectModel.Collection`1
psadapted MemberSet psadapted {Color, ModelYear, Distance,
psbase MemberSet psbase {Color, ModelYear, Distance,...
psextended MemberSet psextended {}
psobject MemberSet psobject {BaseObject, Members,...
Drive Method int Drive(int miles)
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
get_Color Method string get_Color()
get_Distance Method int get_Distance()
get_ModelYear Method string get_ModelYear()
get_rides Method int get_rides()
set_Color Method void set_Color(string )
set_Distance Method void set_Distance(int )
set_ModelYear Method void set_ModelYear(string )
set_rides Method void set_rides(int )
ToString Method string ToString()
Color Property string Color {get;set;}
Distance Property int Distance {get;set;}
ModelYear Property string ModelYear {get;set;}
rides Property int rides {get;set;}