有没有一种方法可以使用Codedom生成C#自动属性或者其他可以使用的库集合?
有没有一种方法可以使用Codedom生成C#自动属性或者其他可以使用的库集合?
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);
实际上,关于使用 CodeSnippetStatement 很容易的评论是误导的,因为 CodeTypeDeclaration 没有语句集合,你不能将这些片段添加到其中。
// 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);
set
和 get
方法,从而导致编译错误。CodeSnippetTypeMember
(https://dev59.com/JEvSa4cB1Zd3GeqPe4Pk#23876973)是解决方案。 - Mohsen Afshin
CodeSnippetStatement
并硬编码该属性。 - Rubens Farias