在PowerShell 5.0中有一个Hidden关键字,该关键字的作用可以隐藏来自Get-Member所输出的部分结果信息。
这样说吧,当你使用Hidden关键字的时候,你可以隐藏属性,方法,甚至包括别名属性,方法类型等等可以从Get-Member cmdlet输出的信息,甚至等你在编辑器里的时候使用。那么什么时候我们需要隐藏所谓的这些成员属性,方法等等信息呢,当你觉得有些属性未必是最重要的或者不想被用户直接看到的你可以选择把它隐藏起来。
我们先通过如下例子来看看如何使用Hidden关键字:
class People
{
[int]$Stature
[String]$Name
[String]$Gender
[String]PersonInfo([String]$NickName)
{
$this.Name += $NickName
$this.Age
return $this.Name
}
hidden [int] $Age = 20
}
在上面的例子中,我们定义了一个People类,里面包含了一些我们定义的属性,和一个PersonInfo方法,但是我不想让用户直接看到所定义的Age属性,所以在这里我使用了Hidden关键字在我们想要隐藏的属性前面把该属性隐藏起来。
$PeopleA = [People]::new()
我们先生成一个实例对象来查看是否真正成功的把所需要隐藏的属性隐藏起来了。
接着我们使用Get-Member方法查看该实例对象下所包含的成员属性、方法等信息:PS C:\Windows\system32> $PeopleA|Get-Member
TypeName: People
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHash