我想重新使用已存在的枚举来实现我自己的功能。我希望来自Test-Path -PathType
的枚举。就像我一样,我希望我自己的函数具有接受PathType
,Any
或Leaf
的参数Container
。
这可以在不重新定义枚举的情况下完成吗?如何确定实际调用枚举本身的内容?
答案 0 :(得分:4)
它是TestPathType枚举。你应该能够接受它作为一个正式的论据,例如:
function Do-Something([Microsoft.PowerShell.Commands.TestPathType] $pathType) {
...
}
顺便说一句,Powershell会在您提供无效值时告诉您错误消息中的参数类型,例如:
Test-Path -PathType Banana
的产率:
Test-Path : Cannot bind parameter 'PathType'. Cannot convert value "Banana" to type
"Microsoft.PowerShell.Commands.TestPathType". Error: "Unable to match the identifier name Banana to a valid enumerator
name. Specify one of the following enumerator names and try again: Any, Container, Leaf"
At line:1 char:21
但是如果你想更加主动地查看命令元数据,你可以直接检查它,例如:
(Get-Command Test-Path).Parameters.PathType.ParameterType