在Powershell中使用在不同文件中定义的自定义类作为类型

时间:2018-03-01 20:11:46

标签: powershell types casting

我想使用我在另一个文件中声明的自定义类作为类型:

emailhelper.ps1

class EmailInfo
{
    [string]$subject;
    [string]$body;
    [System.Collections.Generic.List[string]]$distributionList;
}

myfile.ps1

."$PSScriptRoot\.\emailhelper.ps1"

class MyClass
{
    [EmailInfo]$startEmailInfo;
    ...

    MyClass([EmailInfo] $info)
    {
     ...
    }
}

但似乎没有找到它:

  

En C:\ xxx \ yyyy \ myscript.ps1:64Carácter:6
  + [EmailInfo] $ info;
  + ~~~~~~~~~找不到类型[EmailInfo]。

奇怪的是我可以毫无问题地创建新对象:

$emailInfo = New-Object EmailInfo;

所以问题似乎与使用“EmailInfo”作为一种类型有关。

最后,如果我将“EmailInfo”添加到myscript.ps1,即使用该类的同一文件,那么我可以将其用作类型......

那么,我如何使用在不同文件中定义的类作为类型?

0 个答案:

没有答案