终于搞清楚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);
}
posted @ 2007-09-13 17:15  生命体验之kevin-Y  阅读(417)  评论(0编辑  收藏  举报