私はANTLR V3を使ってDSL言語のC#コードを生成しています。ANTLR for C#とCLSCompliant属性
生成されたコードには、プロジェクトがCLSに準拠していないため、警告が生成される原因となるlaxerクラスとparserクラスのCLSCompliant属性が含まれています。
- ANTLRでCLSCompliant属性を使用しないコードを生成するにはどうすればよいですか?
- C#3文法の文字列テンプレートを変更することはできますか?
私はANTLR V3を使ってDSL言語のC#コードを生成しています。ANTLR for C#とCLSCompliant属性
生成されたコードには、プロジェクトがCLSに準拠していないため、警告が生成される原因となるlaxerクラスとparserクラスのCLSCompliant属性が含まれています。
あなたは、これまでの簡単な回避策を考え出しました。これは、対応する警告を無効にして、テンプレートを手に入れないようにします。
は、単にあなたの文法ファイルに
@parser::header {#pragma warning disable 3021}
@lexer::header {#pragma warning disable 3021}
HTH ガブリエル
代わりに警告を抑制し、それが明示的AssemblyInfo.cs
で属性を使用してアセンブリがCLSに準拠していない状態には、正しいだのを次の行を追加します。
[assembly: CLSCompliant(false)]
これにより、コンパイル時の警告も削除されます。
私はそれを試してみましょう。ありがとう –