about_Hidden

간단한 설명

hidden 기본 Get-Member 결과에서 클래스 멤버를 숨기는 키워드(keyword) 설명합니다.

자세한 설명

스크립트에서 hidden 키워드(keyword) 사용하는 경우 기본적으로 클래스의 멤버를 숨깁니다. 숨겨진 멤버는 cmdlet, IntelliSense 또는 탭 완성 결과의 기본 결과에 Get-Member 표시되지 않습니다. 키워드(keyword) 숨겨진 멤버를 hidden 표시하려면 Force 매개 변수를 Get-Member 명령에 추가합니다.

hidden 키워드(keyword) 다음을 숨길 수 있습니다.

  • 메서드(생성자 포함)
  • events
  • 별칭 속성
  • 다른 멤버 형식(정적 멤버 포함)

숨겨진 멤버를 정의하는 클래스에서 완료가 발생하지 않는 한 숨겨진 멤버는 탭 완성 또는 IntelliSense에 표시되지 않습니다.

새 특성인 System.Management.Automation.HiddenAttribute를 사용하면 C# 코드가 PowerShell 내에서 동일한 의미 체계를 가질 수 있습니다.

hidden 이 키워드(keyword) 클래스의 사용자가 보거나 쉽게 편집할 수 없도록 클래스 내에서 속성과 메서드를 만드는 데 유용합니다.

hidden 키워드(keyword) 클래스의 멤버를 보거나 변경할 수 있는 방법에는 영향을 주지 않습니다. PowerShell의 모든 언어 키워드(keyword) 마찬가지로 대hidden/소문자를 구분하지 않으며 숨겨진 멤버는 여전히 공용입니다.

hidden 사용자 지정 클래스와 함께 키워드(keyword) Windows PowerShell 5.0에서 도입되었습니다.

예제

다음 예제에서는 클래스 정의에서 hidden 키워드(keyword) 사용하는 방법을 보여줍니다. 자동차 클래스 메서드인 Drive에는 차량 클래스에서 드라이브가 호출되는 횟수만 계산하기 때문에 보거나 변경할 필요가 없는 속성, 놀이기구있습니다. 클래스 사용자에게 중요하지 않은 메트릭입니다(예를 들어 자동차를 구매할 때 판매자에게 얼마나 많은 드라이브를 가져갔는지 묻지 않는 것이 좋습니다).

클래스 사용자가 이 속성을 변경할 필요가 거의 없으므로 키워드(keyword) 사용하여 hidden 속성을 Get-Member 숨기고 자동 완성 결과를 숨길 수 있습니다.

hidden 속성 및 해당 데이터 형식과 동일한 문 줄에 입력하여 키워드(keyword) 추가합니다. 키워드(keyword) 이 줄에서 순서대로 지정할 수 있지만 키워드(keyword) 사용하여 문을 hidden 시작하면 나중에 숨긴 모든 멤버를 쉽게 식별할 수 있습니다.

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
}

이제 Car 클래스의 새 인스턴스를 만들고 변수$TestCar에 저장합니다.

$TestCar = [Car]::new()

새 인스턴스를 만든 후 변수Get-Member$TestCar 내용을 .에 파이프합니다. rides 속성이 명령 결과에 나열된 멤버에 속하지 않는지 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;}

이제 다시 실행 Get-Member 해 보지만 이번에는 매개 변수를 추가합니다 -Force . 결과에는 기본적으로 숨겨진 다른 멤버 중에서 숨겨진 놀이기구 속성이 포함됩니다.

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

참고 항목