【问题标题】:Generating Runtime code(structs,classes) in C#在 C# 中生成运行时代码(结构、类)
【发布时间】:2010-08-06 14:57:08
【问题描述】:

我需要在运行时在 C#(可能在 CLI 中)托管环境中生成结构和类。 假设我拥有与某个类/结构的这些数据成员相关联的所有数据和数据类型。现在我需要在运行时生成结构/类,然后我需要在那些运行时创建的结构字段中映射数据。

我已从 XML 文件(即 BSTR field1、BSTR field2、BSTR field3、BSTR field4、BSTR field5、long field6)读取数据。

现在我需要在运行时创建一个结构体,其中包含所有字段的总和(我在上面列出的)sizeof,然后我可以轻松地一一访问这些字段,从而形成整个完整的结构体。

我该如何解决这个问题?

问候,

乌斯曼

【问题讨论】:

  • 在生成类型后,您打算如何“逐一访问这些字段”?使用反射?由于类型是动态生成的,因此您将无法静态访问这些属性。

标签: c# .net code-generation c++-cli runtime


【解决方案1】:

您需要检查CodeDomReflection.Emit

【讨论】:

    【解决方案2】:

    动态生成的类型化对象可能对您的场景有所帮助。 Vladimir Bodurov 有 written about it 包括源代码(如果它更小,我会在这里发布)。

    【讨论】:

      【解决方案3】:

      System.Reflection.Emit 拥有实现这一目标所需的所有工具。以TypeBuilder 开头。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-28
        • 2019-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-23
        • 1970-01-01
        相关资源
        最近更新 更多