2016-10-05 9 views
0

PowerShellで以下の列挙型を作成しました。しかし、列名にドットを付けると(たとえば "Name.A")、Add-Typeはエラーを返します。それについてどうすればいいですか?私は "Name.A"からドットを削除したくない。ここでPowerShell:列挙型の名前のドットが原因でAdd-Typeが失敗する

$TypeEnum = " 
    namespace Types { 
     public enum Id { 
      Name.A = 1, 
      NameB = 2, 
      NameC = 3 
     } 
    }" 

Add-Type -TypeDefinition $TypeEnum -Language CSharpVersion3 

([Types.Id]::'Name.A').value__ 

は私が取得エラーです:

は、タイプの追加:C:\ユーザーは、ユーザー1 \のAppData \ローカル\ Tempにを\ \ ab0z5i1y.0.cs(4):} が期待c:\ Users \ User1 \ AppData \ Local \ Temp \ ab0z5i1y.0.cs(3):
public enum Id >>> Name.A = 1、 c:¥Users¥User1¥AppData¥Local¥Temp¥ab0z5i1y.0.cs(5):
NameB = 2、行番号:10 char:1 + Add-タイプ-TypeDefinition $ Ty peEnum -Language CSharpVersion3 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ + CategoryInfo:InvalidData:(C:}予想:\ユーザーは、ユーザー1 ... 513 \ CompilerError)[アドオンの種類]を、例外 + FullyQualifiedErrorId:SOURCE_CODE_ERROR 、Microsoft.PowerShell.Commands.AddTypeCommand
追加タイプ:c:\ Users \ User1 \ AppData \ Local \ Temp \ ab0z5i1y.0.cs(8):タイプ または名前空間の定義、またはファイルの末尾が期待される C:\ユーザーは、ユーザー1 \のAppData \ローカル\の温度を\ \ ab0z5i1y.0.cs(7):}
C:\ユーザーUser1の\のAppData \ローカル\の温度を\ \ ab0z5i1y.0.cs(8):>>> } 行:10文字:1 + Add-Typeは-TypeDefinition $ TypeEnum -Language CSharpVersion3 を+ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :\ Users \ User1 ... f-file expected:CompilerError)[Add-Type]、例外 + FullyQualifiedErrorId:SOURCE_CODE_ERROR、Microsoft.PowerShell.Commands.AddTypeCommand
Add-Type:型を追加できません。コンパイルエラーがありました。行:10 文字:1 + Add-Typeは-TypeDefinition $ TypeEnum -Language CSharpVersion3 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidData:(:) [-タイプの追加]、InvalidOperationExceptionが + FullyQualifiedErrorIdこの タイプを含むアセンブリが読み込まれていることを確認してください:[Types.Id]入力し検索するCOMPILER_ERRORS、Microsoft.PowerShell.Commands.AddTypeCommandできません 。行に12文字:1 +([Types.Id] :: 'Name.A')~~~~~~~~~~~~~~~~~~~~~~~ +をvalue__ ~~~~~~~ + CategoryInfo:はInvalidOperation:(Types.Id:TypeName)[]、のRuntimeException + FullyQualifiedErrorId:これはネットの制限であり、拡張PowerShellとC#によって

+1

それは有効ではありませんC#。 –

+0

変更する必要があるものなどを詳しく教えてください。 – TDN

+4

C#はドットが識別子の一部であることを許可しません。 – PetSerAl

答えて

1

をTypeNotFound。列挙型メンバ名には句読記号を付けることはできません。

このように、ハッキーなことをせずにこの作業を行うことはできません(名前を[CharacterCode] Aに変更するか説明を追加するか、

関連する問題