我正在尝试创建一个执行C#代码in this answer所做的Powershell脚本。
当我到达
行$type = ($fieldlink).GetType()
$propInfo = $type.GetProperty("Default", [System.Reflection.BindingFlags]::NonPublic -bor [System.Reflection.BindingFlags]::Instance)
我收到错误
为“GetProperty”和参数找到了多个模糊的重载 数:“2”。
如何消除歧义并指定我想要带有字符串和BindingFlags的重载?
答案 0 :(得分:4)
-bor
运算符返回基础类型的结果(在这种情况下为[int]
)而不是原始枚举类型。所以你必须将结果强制转换回[System.Reflection.BindingFlags]
,尽管我更喜欢从字符串转换为枚举类型:
$propInfo = $type.GetProperty("Default", [System.Reflection.BindingFlags]'NonPublic, Instance')