Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
Sınıf üyelerini hidden varsayılan Get-Member sonuçlardan gizleyen anahtar sözcüğünü açıklar.
Uzun açıklama
Bir betikte anahtar sözcüğünü hidden kullandığınızda, sınıfın üyelerini varsayılan olarak gizlersiniz. Gizli üyeler cmdlet, IntelliSense veya sekme tamamlama sonuçlarının Get-Member varsayılan sonuçlarında görüntülenmez. Anahtar sözcüğüyle hidden gizlediğiniz üyeleri görüntülemek için, komutuna parametresini ekleyin.
Anahtar hidden sözcüğü gizleyebilir:
- yöntemler (oluşturucular dahil)
- etkinlikler
- diğer 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.
Yeni System.Management.Automation.HiddenAttribute özniteliği, C# kodunun PowerShell'de aynı semantiklere sahip olmasını sağlar.
anahtar hidden 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.
Anahtar sözcüğü, hidden bir sınıfın üyelerini görüntüleme veya değişiklik yapma üzerinde hiçbir etkisi yoktur. PowerShell'deki tüm dil anahtar sözcükleri gibi büyük hidden /küçük harfe duyarlı değildir ve gizli üyeler hala geneldir.
Anahtar hidden sözcüğü, özel sınıflarla birlikte Windows PowerShell 5.0'da tanıtıldı.
Example
Aşağıdaki örnekte anahtar sözcüğün hidden bir sınıf tanımında nasıl kullanılacağı 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. Sınıfın kullanıcıları için önemli olmayan ölçüm (örneğin, bir araba satın alırken satıcıya arabanın kaç sürücüye alındığını sormamayı düşünün).
Sınıfın kullanıcılarının bu özelliği değiştirmesine gerek olmadığından, anahtar sözcüğünü kullanarak özelliğini ve Get-Member otomatik tamamlama sonuçlarından hidden gizleyebiliriz.
anahtar sözcüğünü hidden ö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 anahtar hidden sözcükle 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 bunu bir değişkenine $TestCarkaydedin.
$TestCar = [Car]::new()
Yeni örneği oluşturduktan sonra değişkeninin içeriğini öğesine yöneltin $TestCarGet-Member.
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 yeniden çalıştırmayı Get-Member deneyin, ancak bu kez parametresini -Force 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
PowerShell