ここで間違っていますか?PowerShell v5ではクラスファイルと継承が個別にサポートされていませんか?PowerShellクラスインポートモジュールを使用して別ファイルからの継承
foo.ps1:
class foo
{
[STRING] $test = 'Hello World';
[STRING] PrintTest()
{
return $this.test;
}
}
がbar.ps1:
Import-Module "$PSScriptRoot\foo.ps1"
class bar : foo
{ }
CONSOLE
PS C:\Script> Import-Module ./bar.ps1;
PS C:\Script> $myBar = New-Object bar;
PS C:\Script> $myBar.PrintTest();
Method invocation failed because [bar] does not contain a method named 'PrintTest'.
それが働く同じファイル内にfooとbarのクラスを置く場合良い。しかし、私が構築しているクラスはかなり大きく、それらを分けたいと思っています。
エラーが発生しましたか?私はあなたがクリーンなPowerShellセッションからそれを行うなら、 'Import-Module。/ bar.ps1'上で' ParseError'を期待します。 – PetSerAl
まあ、bar.ps1はエラーなしでロードされます。問題なくバーオブジェクトを作成します。 – Vidarious
クラスはモジュールでエクスポートされません。下の私の答えを見てください。 –