は、次のPowerShellがスニペット考えてみましょう:Add-Type -TypeDefinitionが既に追加されていない場合、クラスを条件付きで追加するにはどうすればよいですか?
$csharpString = @"
using System;
public sealed class MyClass
{
public MyClass() { }
public override string ToString() {
return "This is my class. There are many others " +
"like it, but this one is mine.";
}
}
"@
Add-Type -TypeDefinition $csharpString;
$myObject = New-Object MyClass
Write-Host $myObject.ToString();
私は(たとえばたpowershell.exeまたはpowershell_ise.exeに二回のスクリプトを実行します)一度、同じアプリケーションドメインよりも、それを実行した場合、私は次のエラーを取得:
をAdd-Type : Cannot add type. The type name 'MyClass' already exists.
At line:13 char:1
+ Add-Type -TypeDefinition $csharpString;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (MyClass:String) [Add-Type],
Exception
+ FullyQualifiedErrorId :
TYPE_ALREADY_EXISTS,Microsoft.PowerShell.Commands.AddTypeCommand
Add-Type -TypeDefinitionへの呼び出しを1回だけ呼び出すようにするにはどうすればよいですか?
それは本当に素晴らしいです! CLR例外はスローされません。 –