终于搞清楚CodeDom如何生成一个enum了

MSDN没相关范例,在网上找了一些提示,终于搞定。如果需要指定值,可以使用InitExpression。

CodeTypeDeclaration enCode  =   new  CodeTypeDeclaration( " MyEnum " );
enCode.BaseTypes.Add(
typeof ( int )); // 可以加入baseType
// 构造结构内容
for ( int  i = 0 ;i < pEnumObject.FieldList.Count;i ++ )
{
    Enumspace.EnumField field 
= pEnumObject.FieldList[i];//Enumspace.EnumField是自定义的类
       CodeMemberField mem = new CodeMemberField("int",field.Name);//这个int会被忽略
      mem.InitExpression = new CodeSnippetExpression(field.Value.ToString());
      enCode.Members.Add(mem);
}

你可能感兴趣的:(code)