about_Hidden
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 Get-Member
Force 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ı.
ÖRNEK
Aşağıdaki örnekte anahtar sözcüğün hidden
bir sınıf tanımında nasıl kullanılacağı gösterilmektedir. Araç sınıfı yöntemi olan Drive'ın bir özelliği, sürüşleri vardır. Bu özellik, yalnızca Drive'ın Araç sınıfında çağrılma sayısını uzun olduğundan, görüntülenmesi veya değiştirilmesi gerekmez. 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 $TestCar
kaydedin.
$TestCar = [Car]::new()
Yeni örneği oluşturduktan sonra değişkeninin içeriğini öğesine yöneltin $TestCar
Get-Member
. Rides özelliğinin komut sonuçlarında listelenen Get-Member
ü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 gizli olan 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 bkz.
PowerShell