有没有办法使用 Codedom或我可以使用的其他一组库生成 C# 自动属性?
问问题
6533 次
5 回答
6
不,不是:C# CodeDom 自动属性
查看这篇文章以获取一些有用的示例
于 2010-01-23T10:37:08.660 回答
6
您可以为此目的使用 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);
于 2014-05-26T20:01:21.280 回答
2
CodeDom 应该是某种可以转换为多种语言(通常是 C# 和 VB.NET)的AST 。因此,您不会在 CodeDom 中找到属于特定语言的语法糖的功能。
于 2010-01-23T10:58:40.550 回答
1
实际上,关于易于使用 CodeSnippetStatement 的评论具有误导性,因为 CodeTypeDeclaration 没有可以将这些片段添加到的语句集合。
于 2011-10-06T11:34:21.030 回答
-2
您可以这样做:根据如何:使用 CodeDOM 创建类
// Declare the ID Property.
CodeMemberProperty IDProperty = new CodeMemberProperty();
IDProperty.Attributes = MemberAttributes.Public;
IDProperty.Name = "Id";
IDProperty.HasGet = true;
IDProperty.HasSet = true;
IDProperty.Type = new CodeTypeReference(typeof(System.Int16));
IDProperty.Comments.Add(new CodeCommentStatement(
"Id is identity"));
targetClass.Members.Add(IDProperty);
于 2015-03-07T17:55:16.967 回答