【发布时间】:2014-06-18 01:57:48
【问题描述】:
我想知道当正在使用的对象具有特定属性时,是否可以为隐藏自身的函数指定一个参数
例如,如果我们有
Function Do-Something
{
Param(
[HideIfObjectHasPropertyNamed("NoPath")]
[string] $Path
)
...
}
如果我有两个对象 Test1 和 Test2
Test1 具有 NoPath 作为属性 Test2 没有
所以当我写出来的时候
Test1 | Do-Something -
在破折号之后,我希望 Path 从可能的参数的智能感知列表中完全丢失
但是有了这个
Test2 | Do-Something -Path
我希望 Path 是一个可用的选项
显然我知道 HideIfObjectHasPropertyNamed 不是一个有效的参数属性我想知道是否有办法使用现有的参数属性来完成同样的事情。
我仍在学习 Powershell 的来龙去脉,参数的所有细微差别都不为我所知。如果这是不可能的,那很好,它只会让 cmdlet 更友好一点,以便传递给其他用户。
【问题讨论】:
标签: powershell parameters