2009-02-24 62 views
9

我有一个使用CodeDom创建的属性。我怎样才能将它设置为一个自动属性,而不是添加CodeFieldReferenceExpressions对私人成员?C#CodeDom自动属性

回答

11

IIRC,CodeDom根本没有办法表达这一点。自动实现的属性只是编译器糖,但由于它没有(干净地)映射到所有语言,所以它不能完全适合CodeDom(此外,CodeDom需要更新)。

7

是的,你可以。

您可以使用CodeSnippetTypeMember类用于此目的。

例如:

 CodeTypeDeclaration newType = new CodeTypeDeclaration("TestType"); 
     CodeSnippetTypeMember snippet = new CodeSnippetTypeMember(); 

     snippet.Comments.Add(new CodeCommentStatement("this is integer property", true)); 
     snippet.Text="public int IntergerProperty { get; set; }"; 

     newType.Members.Add(snippet);