3

我有一个导出过程,它将带注释的类作为输出文件定义(很像 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还是有更优雅的解决方案?

4

1 回答 1

1

就个人而言,我会看TypeBuilder,但我有点……不平衡,准备跳进去ILGenerator。但是,是的,您可以通过这种方式创建新的子类。但请注意 - WCF 和 EF 不会自动接受您的类型。大多数具有继承意识的库(包括 WCF 和 EF)都会讨厌动态子类,因为它们没有预料到它们并将它们视为完全意外的数据。

于 2012-07-22T22:53:33.970 回答