Здравствуйте, эксперты Powershell,
Я хочу написать функцию Powershell, которая принимает в качестве параметра System.Text.RegularExpressions.Regex.Мой заголовок функции выглядит так:
function Foo {
Param([System.Text.RegularExpressions.Regex] $myRegex)
# function body
}
И я попытался вызвать Foo
так:
$MY_REGEX = new-object System.Text.RegularExpressions.Regex('<regex_body>')
Foo($MY_REGEX)
Я получил ошибку, которая говорит Cannot convert the "System.Object[]" value of type
"System.Object[]" to type "System.Text.RegularExpressions.Regex".
Мне интересно, почему это так, поскольку я явно определил регулярное выражение с типом System.Text.RegularExpressions.Regex
.Итак, я сделал .GetType () на своем объекте и получил:
BaseType : System.Object
UnderlyingSystemType : System.Text.RegularExpressions.Regex
FullName : System.Text.RegularExpressions.Regex
Так что теперь я запутался, почему жалуюсь на приведение, когда базовый тип совпадает ...
Может кто-топодскажите пожалуйста что я делаю не так?