about_Hidden

Kurze Beschreibung

Beschreibt die Schlüsselwort (keyword), mit der hidden Klassenmitglieder aus Standardergebnissen Get-Member ausgeblendet werden.

Lange Beschreibung

Wenn Sie die hidden Schlüsselwort (keyword) in einem Skript verwenden, blenden Sie standardmäßig die Member einer Klasse aus. Ausgeblendete Elemente werden nicht in den Standardergebnissen des Get-Member Cmdlets, IntelliSense oder der Abschlussergebnisse der Registerkarte angezeigt. Um Elemente anzuzeigen, die mit dem hidden Schlüsselwort (keyword) ausgeblendet sind, fügen Sie den Parameter Force zu einem Get-Member Befehl hinzu.

Die hidden Schlüsselwort (keyword) 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.

Die hidden Schlüsselwort (keyword) ist nützlich, um Eigenschaften und Methoden in einer Klasse zu erstellen, die Benutzer der Klasse nicht unbedingt sehen oder leicht bearbeiten können.

Die hidden Schlüsselwort (keyword) hat keine Auswirkungen darauf, wie Sie Mitglieder einer Klasse anzeigen oder ändern können. Wie bei allen Sprach-Schlüsselwort (keyword) in PowerShell hidden wird die Groß-/Kleinschreibung nicht beachtet, und ausgeblendete Member sind weiterhin öffentlich.

Die hidden Schlüsselwort (keyword) wurde zusammen mit benutzerdefinierten Klassen in Windows PowerShell 5.0 eingeführt.

BEISPIEL

Das folgende Beispiel zeigt, wie sie die hidden Schlüsselwort (keyword) in einer Klassendefinition verwenden. 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 mithilfe Get-Member der Schlüsselwort (keyword) ausblenden und die Ergebnisse hidden der automatischen Vervollständigung ausblenden.

Fügen Sie die hidden Schlüsselwort (keyword) hinzu, indem Sie sie in derselben Anweisungszeile wie die Eigenschaft und den zugehörigen Datentyp eingeben. Obwohl die Schlüsselwort (keyword) in beliebiger Reihenfolge in dieser Zeile vorhanden sein kann, erleichtert ihnen das Starten der Anweisung mit dem hidden Schlüsselwort (keyword) später die Identifizierung 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;}

Weitere Informationen