Я хотел бы повторно использовать определение класса из другого модуля, но сталкиваюсь с проблемой, что при использовании классов экспорта модулей они не могут использоваться в определениях других классов: Main.psm1:Использовать класс другого модуля внутри определения класса
class M {
[string] $someProperty
}
ClientModule.psm1:
using module Main
class C {
[M] $mClass # this does not work
}
$mClass = [M]::new() # this works
ли я что-то отсутствует? Может ли моя цель быть достигнута каким-то другим способом? (Я надеюсь избежать точка-сорсинг)
Вашего кода copypasted как работает для меня в PS5.1. Вы уверены, что 'using module' является первым утверждением в вашем полном скрипте? – wOxxOm
Я понял это, но я не думаю, что это требует ответа, поскольку это была довольно глупая ошибка: у меня также был файл манифеста для M и я забыл расколоть RootModule =, который по существу превратил M в пустую оболочку. – SirRichie