我有一个导出过程,它将带注释的类作为输出文件定义(很像Linq-To-Entities)
一个类看起来像这样:
<ExportDefinition(Name:="Some Export Format")>
Public Class SomeExportFormat
Overridable Property Id As Integer
<DisplayName("Customer Name")>
Overridable Property CustomerName As String
End Class
属性是可覆盖的,因为我有时需要代理。
我需要添加允许指定瞬态格式的功能(WCF调用请求以一次性格式导出特定数据)。
为了避免重写大量的导出代码,我想采用我通过WCF传递的定义并定义一个新类。
我最好使用System.CodeDom.Compiler
还是有更优雅的解决方案?
答案 0 :(得分:1)
就个人而言,我会看TypeBuilder
,但我有点...... 不平衡,并准备跳进ILGenerator
。但是,是的,您可以通过这种方式创建新的子类。但请注意 - WCF和EF不会自动接受您的类型。大多数继承感知库(包括WCF和EF)将讨厌动态子类,因为他们不期望它们并将它们视为完全意外的数据。