【发布时间】:2010-10-09 16:05:39
【问题描述】:
我有一个使用 CodeDom 创建的属性。如何将其设置为自动属性,而不是针对私有成员添加 CodeFieldReferenceExpressions?
【问题讨论】:
标签: c# code-generation codedom
我有一个使用 CodeDom 创建的属性。如何将其设置为自动属性,而不是针对私有成员添加 CodeFieldReferenceExpressions?
【问题讨论】:
标签: c# code-generation codedom
IIRC,CodeDom 根本无法表达这一点。自动实现的属性只是编译器的糖,但由于它不能(干净地)映射到所有语言,因此它不能完全适合 CodeDom(此外,CodeDom 需要更新)。
【讨论】:
是的,你可以。
您可以为此目的使用 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);
【讨论】: