4

CodeDOM を使用して、静的フィールドの宣言と初期化の両方を 1 つのステートメントで行いたいと考えています。これどうやってするの?

// for example
public static int MyField = 5;

静的フィールドを宣言する方法を理解しているようで、後でその値を設定できますが、上記の効果が得られないようです。

@lomaxx、いや、静的が欲しいだけです。私はconstを望んでいません。この値は変更される可能性があります。私は、宣言と初期化を一気に簡単にしたかっただけです。コードダムの世界のすべてが単純であるかのように。すべてのタイプ名は 20 文字以上の長さであり、これらの巨大な式ツリーを構築することになります。私の目がバグります。resharper の再フォーマットのおかげで、私は今日生きているだけです。

4

3 に答える 3

8

静的フィールドを表す CodeMemberField インスタンスを作成したら、InitExpression プロパティを、フィールドの入力に使用する式に割り当てることができます。

于 2008-08-27T04:45:27.617 に答える
1

Omer van Kloetenによるこの投稿は、あなたが望むことをしているようです。出力に次の行があることに注意してください。

private static Foo instance = new Foo();
于 2008-08-27T04:48:30.150 に答える
0

あなたが望むのは静的ではなく定数だと思います。あなたが望むのは、静的な読み取り専用を持つことの効果だと思います。これが、値を常に5にしたい理由です。

c# では、const は readonly static とまったく同じように扱われます。

c# ドキュメントから:

定数は static メンバーと見なされますが、constant- 宣言は static 修飾子を必要とせず、許可しません。

于 2008-08-27T04:53:33.227 に答える