Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Deskripsi singkat
hidden Menjelaskan kata kunci, yang menyembunyikan anggota kelas dari hasil defaultGet-Member.
Deskripsi panjang
Saat Anda menggunakan hidden kata kunci dalam skrip, Anda menyembunyikan anggota kelas secara default. Anggota tersembunyi tidak ditampilkan dalam hasil Get-Member default cmdlet, IntelliSense, atau hasil penyelesaian tab. Untuk menampilkan anggota yang telah Anda sembunyikan dengan hidden kata kunci, tambahkan parameter Paksa ke Get-Member perintah.
Kata hidden kunci dapat menyembunyikan:
- metode (termasuk konstruktor)
- events
- properti alias
- jenis anggota lain (termasuk anggota statis)
Anggota tersembunyi tidak ditampilkan dalam penyelesaian tab atau IntelliSense kecuali penyelesaian terjadi di kelas yang menentukan anggota tersembunyi.
Atribut baru, System.Management.Automation.HiddenAttribute, memungkinkan kode C# memiliki semantik yang sama dalam PowerShell.
Kata hidden kunci berguna untuk membuat properti dan metode dalam kelas yang tidak selalu Anda inginkan untuk dilihat atau diedit oleh pengguna kelas.
Kata hidden kunci tidak berpengaruh pada bagaimana Anda dapat melihat atau membuat perubahan pada anggota kelas. Seperti semua kata kunci bahasa di PowerShell, hidden tidak peka huruf besar/kecil, dan anggota tersembunyi masih bersifat publik.
Kata hidden kunci, bersama dengan kelas kustom, diperkenalkan di Windows PowerShell 5.0.
Example
Contoh berikut menunjukkan cara menggunakan hidden kata kunci dalam definisi kelas. Metode kelas Mobil, Drive, memiliki properti, Rides, yang tidak perlu dilihat atau diubah karena hanya tinggi berapa kali Drive dipanggil pada kelas Mobil. Metrik yang tidak penting bagi pengguna kelas (pertimbangkan, misalnya, bahwa ketika Anda membeli mobil, Anda tidak bertanya kepada penjual tentang berapa banyak drive mobil yang telah diambil).
Karena ada sedikit kebutuhan bagi pengguna kelas untuk mengubah properti ini, kita dapat menyembunyikan properti dari Get-Member dan hasil penyelesaian otomatis dengan menggunakan hidden kata kunci.
hidden Tambahkan kata kunci dengan memasukkannya pada baris pernyataan yang sama dengan properti dan jenis datanya. Meskipun kata kunci dapat dalam urutan apa pun pada baris ini, memulai pernyataan dengan hidden kata kunci memudahkan Anda nanti untuk mengidentifikasi semua anggota yang telah Anda sembunyikan.
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
}
Sekarang, buat instans baru kelas Mobil , dan simpan dalam variabel, $TestCar.
$TestCar = [Car]::new()
Setelah Anda membuat instans baru, pipa konten variabel ke $TestCarGet-Member. Perhatikan bahwa properti Rides tidak termasuk dalam anggota yang tercantum dalam hasil perintah Get-Member.
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;}
Sekarang, coba jalankan Get-Member lagi, tetapi kali ini, tambahkan -Force parameter .
Perhatikan bahwa hasilnya berisi properti Rides tersembunyi, di antara anggota lain yang disembunyikan secara default.
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;}