如何在动态类中实例化一个子类型?

时间:2013-07-11 16:46:24

标签: c# dynamic

我正在使用C#动态关键字,我有一个需要设置属性值的实例。

但是,这个属性需要一个我无权访问的类型,因为我在WSDL内存中生成了一个程序集。

如何动态创建属性实例?

1 个答案:

答案 0 :(得分:1)

没有属性实例这样的东西;有:

  • 对象的实例
  • 有成员(在这种情况下可能是动态的)
  • 要为其指定值

如果您事先不知道值的类型,则需要使用反射(来自Type)和动态组合来创建对象。后者取决于底层对象是实际动态,而不是通过动态API公开的常规类型。同样,您是否可以通过反射将值分配给属性 - 或者 必须 使用动态API - 取决于相同。幸运的是,像FastMember这样的工具允许您在两种情况下以相同的方式访问任意成员(名称仅在运行时,而不是编译时)。因此,如果情景很复杂,也许可以给它一个旋转。