Powershell: эталонный класс внутри и снаружи модуля - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь использовать классы и ссылаться на них внутри друг друга.К сожалению, я не могу понять, как это сделать.Я пытаюсь сделать следующее:

  • Создать модуль, экспортирующий классы в разные файлы.У одного из классов есть метод, который возвращает другой класс.
  • Импорт модуля в другой класс и использование классов из модуля.

То, что я пробовал (упрощенный пример):

Item.ps1

class Item {

}

ItemList.ps1

. '.\Item.ps1' 

class ItemList {
    [Item] function Items () {
    // It goes wrong here. Visual studio code mentions type Item cannot be found.
    }
}

Utilities.psm1

. '.\Item.ps1'
. '.\ItemList.ps1'
// I'm not sure if this is the right way to export the classes via the module

Foo.ps1

using module '.\Utilities.psm1'

class Foo {
    [ItemList] function CreateItemList() {
     // It goes wrong here. Visual studio code mentions type ItemList cannot be found.
    }
}

Я был бы очень признателен, если бы кто-нибудь мог помочь мне разобраться в этом!

Обновление

Похоже, что это невозможно сделать. Здесь упоминается следующее:

В этом выпуске нельзя использовать литерал типа (например, [MyClass]) вне файла скрипта / модуля, в которомкласс определен.

...