about_Hidden
Kurze Beschreibung
Beschreibt das hidden
Schlüsselwort, mit dem Klassenmitglieder aus den Standardergebnissen Get-Member
ausgeblendet werden.
Lange Beschreibung
Wenn Sie das hidden
Schlüsselwort in einem Skript verwenden, blenden Sie die Member einer Klasse standardmäßig aus. Ausgeblendete Elemente werden nicht in den Standardergebnissen des Get-Member
Cmdlets, IntelliSense oder der Abschlussergebnisse der Registerkarte angezeigt. Um Elemente anzuzeigen, die Sie mit dem hidden
Schlüsselwort ausgeblendet haben, fügen Sie den Parameter Force zu einem Get-Member
Befehl hinzu.
Das hidden
Schlüsselwort kann ausblenden:
- Methoden (einschließlich Konstruktoren)
- events
- Aliaseigenschaften
- andere Membertypen (einschließlich statischer Member)
Ausgeblendete Member werden nicht im Abschluss der Registerkarte oder IntelliSense angezeigt, es sei denn, der Abschluss erfolgt in der Klasse, die das ausgeblendete Element definiert.
Das neue Attribut System.Management.Automation.HiddenAttribute ermöglicht C#-Code dieselbe Semantik in PowerShell.
Das hidden
Schlüsselwort ist nützlich, um Eigenschaften und Methoden in einer Klasse zu erstellen, die Benutzer der Klasse nicht unbedingt sehen oder leicht bearbeiten können.
Das hidden
Schlüsselwort hat keine Auswirkungen darauf, wie Sie Member einer Klasse anzeigen oder vornehmen können. Wie bei allen Sprachstichwörtern in PowerShell hidden
wird die Groß-/Kleinschreibung nicht beachtet, und ausgeblendete Member sind weiterhin öffentlich.
Das hidden
Schlüsselwort wurde zusammen mit benutzerdefinierten Klassen in Windows PowerShell 5.0 eingeführt.
BEISPIEL
Das folgende Beispiel zeigt, wie das hidden
Schlüsselwort in einer Klassendefinition verwendet wird. Die Car-Klasse , Drive, hat eine Eigenschaft, Fahrten, die nicht angezeigt oder geändert werden müssen, da es nur die Anzahl der Male hoch ist, die Drive auf der Car-Klasse aufgerufen wird. Diese Metrik, die für Benutzer der Klasse nicht wichtig ist (denken Sie beispielsweise daran, dass Sie beim Kauf eines Autos den Verkäufer nicht fragen, wie viele Laufwerke das Auto genommen wurde).
Da es für Benutzer der Klasse wenig Erforderlich ist, diese Eigenschaft zu ändern, können wir die Eigenschaft Get-Member
mithilfe des hidden
Schlüsselworts ausblenden und die Ergebnisse automatisch abschließen.
Fügen Sie das hidden
Schlüsselwort hinzu, indem Sie es in derselben Anweisungszeile wie die Eigenschaft und den zugehörigen Datentyp eingeben. Obwohl das Schlüsselwort in einer beliebigen Reihenfolge in dieser Zeile sein kann, erleichtert das Starten der Anweisung mit dem hidden
Schlüsselwort später das Identifizieren aller Elemente, 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 Car-Klasse, und speichern Sie sie in einer Variablen. $TestCar
$TestCar = [Car]::new()
Nachdem Sie die neue Instanz erstellt haben, führen Sie den Inhalt der $TestCar
Variablen an Get-Member
. Beachten Sie, dass die Rides-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 Get-Member
es nun erneut, aber diesmal den Parameter hinzuzufügen -Force
.
Beachten Sie, dass die Ergebnisse die Eigenschaft "Ausgeblendete Fahrten" enthalten, unter 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;}