about_Hidden
Rövid leírás
A kulcsszót ismerteti, amely elrejti az hidden
osztálytagokat az alapértelmezett Get-Member
eredmények elől.
Hosszú leírás
Ha szkriptben használja a hidden
kulcsszót, alapértelmezés szerint elrejti egy osztály tagjait. A rejtett tagok nem jelennek meg a parancsmag, az IntelliSense vagy a Get-Member
lapkiegészítési eredmények alapértelmezett eredményei között. A kulcsszóval hidden
elrejtett tagok megjelenítéséhez adja hozzá a Force paramétert egy Get-Member
parancshoz.
A hidden
kulcsszó elrejthető:
- metódusok (beleértve a konstruktorokat is)
- események
- alias tulajdonságai
- egyéb tagtípusok (beleértve a statikus tagokat is)
A rejtett tagok csak akkor jelennek meg a lapkizárásban vagy az IntelliSense-ben, ha a befejezés a rejtett tagot meghatározó osztályban történik.
Az új attribútum, a System.Management.Automation.HiddenAttribute lehetővé teszi, hogy a C#-kód ugyanazokkal a szemantikával rendelkezzen a PowerShellben.
A hidden
kulcsszó olyan tulajdonságok és metódusok létrehozására használható egy osztályon belül, amelyeket nem feltétlenül szeretné, hogy az osztály felhasználói láthassanak vagy szerkeszthessenek.
A hidden
kulcsszónak nincs hatása arra, hogyan tekintheti meg vagy módosíthatja az osztály tagjait. A PowerShell hidden
összes nyelvi kulcsszavaihoz hasonlóan a kis- és nagybetűk sem érzékenyek, és a rejtett tagok továbbra is nyilvánosak.
A hidden
kulcsszó és az egyéni osztályok a Windows PowerShell 5.0-ban jelentek meg.
PÉLDA
Az alábbi példa bemutatja, hogyan használhatja a hidden
kulcsszót egy osztálydefinícióban. Az Autóosztály metódusnak, a Drive-nak van egy tulajdonsága, utazása, amelyet nem kell megtekinteni vagy módosítani, mivel csupán megnő a Meghajtó hívásának száma az Autó osztályban. Ez a metrika, amely nem fontos az osztály felhasználói számára (vegye figyelembe például, hogy amikor autót vásárol, nem kérdezi meg az eladót, hogy hány meghajtót vett az autó).
Mivel az osztály felhasználóinak nem kell módosítaniuk ezt a tulajdonságot, a kulcsszó használatával elrejthetjük a tulajdonságot Get-Member
, és automatikusan befejezhetjük a hidden
találatokat.
Adja hozzá a hidden
kulcsszót úgy, hogy a tulajdonságot és az adattípust ugyanabban az utasítássorban adja meg. Bár a kulcsszó bármilyen sorrendben szerepelhet ezen a sorban, a kulcsszóval való hidden
kezdés megkönnyíti később az összes rejtett tag azonosítását.
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
}
Most hozza létre az Autó osztály új példányát, és mentse egy változóba. $TestCar
$TestCar = [Car]::new()
Az új példány létrehozása után a változó tartalmát $TestCar
a következőre csövezheti Get-Member
. Figyelje meg, hogy a Rides tulajdonság nem szerepel a Get-Member
parancseredményekben felsorolt tagok között.
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;}
Most próbálkozzon újra, Get-Member
de ezúttal adja hozzá a paramétert -Force
.
Vegye figyelembe, hogy az eredmények tartalmazzák a rejtett utazások tulajdonságot, többek között az alapértelmezés szerint rejtett tagokat.
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;}
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: