about_Hidden

Kısa açıklama

Sınıf üyelerini varsayılan hidden sonuçlarından gizleyen Get-Member anahtar sözcüğünü açıklar.

Uzun açıklama

hidden anahtar sözcüğünü bir betikte kullandığınızda, sınıfın üyelerini varsayılan olarak gizlersiniz. Gizli üyeler Get-Member cmdlet'inin, IntelliSense'in veya sekme tamamlama sonuçlarının varsayılan sonuçlarında görüntülenmez. hidden anahtar sözcüğüyle gizlediğiniz üyeleri görüntülemek için Force parametresini bir Get-Member komutuna ekleyin.

hidden anahtar kelimesi gizleyebilir:

  • yöntemler (oluşturucular dahil)
  • Olaylar
  • takma ad özellikleri
  • diğer üye türleri (statik üyeler dahil)

Gizli üyeler, gizli üyeyi tanımlayan sınıfta tamamlanma gerçekleşmediği sürece sekme tamamlama veya IntelliSense'te görüntülenmez.

System.Management.Automation.HiddenAttributeyeni özniteliği, C# kodunun PowerShell'de aynı semantiklere sahip olmasını sağlar.

hidden anahtar sözcüğü, sınıfın kullanıcılarının görebilmesini veya düzenleyebilmesini istemediğiniz bir sınıf içinde özellik ve yöntemler oluşturmak için kullanışlıdır.

hidden anahtar sözcüğü, bir sınıfın üyelerini görüntüleme veya değişiklik yapma üzerinde hiçbir etkisi yoktur. PowerShell'deki tüm anahtar sözcükler gibi, hidden büyük/küçük harfe duyarlı değildir ve gizli üyeler hala açıktır.

hidden anahtar sözcüğü, özel sınıflarla birlikte Windows PowerShell 5.0'da tanıtıldı.

Example

Aşağıdaki örnekte, sınıf tanımında hidden anahtar sözcüğünü nasıl kullanacağınız gösterilmektedir. Car sınıfı yöntemi, Drive, Car sınıfında Drive çağrılma sayısını sabitlediğinden görüntülenmesi veya değiştirilmesi gerekmeyen Ridesözelliğine sahiptir. Örneğin, araba satın alırken, satıcıya aracın kaç kez kullanıldığını sormayı düşünmediğiniz bir ölçü, sınıfın kullanıcıları için önemli değildir.

Sınıfın kullanıcılarının bu özelliği değiştirmesine gerek olmadığından, Get-Member anahtar sözcüğünü kullanarak özelliği hidden ve otomatik tamamlama sonuçlarından gizleyebiliriz.

hidden anahtar sözcüğünü özellik ve veri türüyle aynı deyim satırına girerek ekleyin. Anahtar sözcük bu satırda herhangi bir sırada olsa da, deyimi hidden anahtar sözcüğüyle başlatmak, daha sonra gizlediğiniz tüm üyeleri tanımlamanızı kolaylaştırır.

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
}

Şimdi Car sınıfının yeni bir örneğini oluşturun ve $TestCardeğişkeninde kaydedin.

$TestCar = [Car]::new()

Yeni örneği oluşturduktan sonra, $TestCar değişkeninin içeriğini Get-Memberöğesine yöneltin. Rides özelliğinin Get-Member komut sonuçlarında listelenen üyeler arasında olmadığını gözlemleyin.

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;}

Şimdi Get-Member yeniden çalıştırmayı deneyin, ancak bu kez -Force parametresini ekleyin. Sonuçların, varsayılan olarak gizlenen diğer üyelerin yanında gizli Rides özelliğini içerdiğini unutmayın.

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;}

Ayrıca bakınız