我正在生成value objects,我希望将我的方法从模板转换为CodeDom方法。
我希望我的类型实现一个或两个自引用通用接口(即IEquatable<MyValueObject>
和IComparable<MyValueObject>
)。
我已经能够通过执行字符串操作并调用等效的CodeTypeDeclaration.Members.Add("IEquatable<MyValueObject")
来获得所需的结果,但如果可能的话,我宁愿使用对象模型。是否有更好的方法或字符串是我最好的选择?
答案 0 :(得分:2)
您可以执行以下操作:
var type = new CodeTypeDeclaration("MyValueObject");
var iequatable = new CodeTypeReference(
"IEquatable", new CodeTypeReference(type.Name));
type.BaseTypes.Add(iequatable);