C#CodeDom自动属性

blu*_*blu 10 c# code-generation codedom

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

Mar*_*ell 11

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


big*_*ger 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);
Run Code Online (Sandbox Code Playgroud)