0

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

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

如何动态创建属性实例?

4

1 回答 1

1

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

  • 一个对象的实例
  • 其中有成员(在这种情况下可能是动态的)
  • 您要为其分配值的

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

于 2013-07-11T17:04:58.260 回答