我想使用CodeDOM在一个语句中声明和初始化我的静态字段。我怎么能这样做?
// for example
public static int MyField = 5;
我似乎可以弄清楚如何声明一个静态字段,我可以稍后设置它的值,但我似乎无法获得上述效果。
@lomaxx, Naw,我只想要静电。我不想要const。此值可以更改。我只想一举宣告和初始化的简单性。好像编码世界中的任何东西都很简单。每个类型名称长度超过20个字符,最终构建这些巨大的表达式树。让我的眼睛出错。由于resharper的重新格式化,我今天才活着。
答案 0 :(得分:8)
创建CodeMemberField实例以表示静态字段后,可以将InitExpression属性分配给要用于填充字段的表达式。
答案 1 :(得分:1)
This post似乎做你想做的事。请注意,输出具有以下行:
private static Foo instance = new Foo();
答案 2 :(得分:0)
我认为你想要的是一个const而不是静态。我假设您想要的是具有静态只读的效果,这就是为什么您总是希望该值为5。
在c#中,consts的处理方式与readonly static完全相同。
即使考虑了常数 静态成员,一个常数 - 声明既不要求也不要 允许使用静态修饰符。