使用CodeDOM生成C#代码时,是否有人知道如何将CodeCommentStatement添加到CodeMemberPropert?
我试过了:
var docStart = new CodeCommentStatement("<summary>", true);
var docContent = new CodeCommentStatement("The description of property", true);
var docEnd = new CodeCommentStatement("</summary>", true);
var property = new CodeMemberProperty {
Name = name,
HasGet = true,
Attributes = MemberAttributes.Public | MemberAttributes.Static,
Type = new CodeTypeReference(typeof(byte[]))
};
var documentation = new CodeCommentStatementCollection { docStart, docContent, docEnd}
property.Comments = new CodeCommentStatementCollection(documentation);
但是评论财产没有设定......
有解决方法吗?
答案 0 :(得分:3)
我建议将这些项目添加到现有CodeCommentStatementCollection
,而不是创建一个新项目:
CodeCommentStatement[] documentation = { docStart, docContent, docEnd}
property.Comments.AddRange(documentation);
该集合提供了为数组添加Add,AddRange,为CodeCommentStatementCollection添加AddRange的常用方法。
正如评论中的 @svick 所指出的,您还可以在实例化对象时指定值,例如:
var property = new CodeMemberProperty {
// Other initialization values
Comments = { docStart, docContent, docEnd } }
如果你想知道为什么以及如何在readonly属性上工作,请参阅此question及其答案。