Я создаю модуль powershell и следую соглашениям об именах глаголов для существующего для экспортируемых функций.
например,
function Do-Something() {
sleep 10
}
Импорт модулей работает как положено ... НОесли я импортирую этот модуль как пользовательский объект.
$myObject = Import-Module MyModule -AsCustomObject
Затем попробуйте получить доступ к функции, я получу ошибку разбора:
PS > $myObject.Do-Something()
You must provide a value expression on the right-hand side of the '-' operator.
At line:1 char:22
+ $myObject.Do- <<<< Something()
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
Я не понимаю.Означает ли это, что я не могу использовать «-» в методах, принадлежащих объектам?Я заметил, что .NET-объекты и другие объекты PSO не имеют «-» в именах своих методов.Я еще не нашел способ избежать этого ... но даже в этом случае это было бы грязно.