C#CodeDom自动属性

时间:2009-02-24 20:46:12

标签: c# code-generation codedom

我有一个用CodeDom创建的属性。如何将其设置为自动属性,而不是为私有成员添加CodeFieldReferenceExpressions?

2 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:9)

是的,你可以。

您可以为此目的使用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);