C# CodeDom自动属性

11

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

2个回答

12

据我所知,CodeDom没有表达这个的方法。自动实现的属性只是编译器的语法糖,但由于它不能(干净地)映射到所有语言,因此它不能干净地嵌入到CodeDom中(此外,CodeDom需要更新)。


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);

这是危险的,不建议使用,因为使用CodeDom时所有的验证基本上都失效了。 - Ian Kemp
我想我喜欢冒险生活。 - bigkahunaburger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接