【发布时间】:2015-04-30 18:36:08
【问题描述】:
我有一个包含大约 100 个属性的对象 (x)。这些属性中的大多数都是引用类型,在我可以对 x 做任何事情之前需要对其进行实例化。此外,x 上的许多属性都将具有也需要实例化的属性。
我曾想过使用反射和递归,但我仍然对实现的工作方式有些困惑。我当前的实现涉及循环通过 PropertyInfo 数组,并使用来自 Activator.CreateInstance 的 SetValue。当我深入研究 x 时,我遇到了很多异常:
- 没有为此对象定义无参数构造函数。
- 无法创建抽象类。
- 找不到属性集方法。
我应该只考虑这些情况,还是有更好的方法来做到这一点?最终,它并没有为我仍然需要的一切分配价值。感谢您的帮助。
【问题讨论】:
-
可以修改
object(x)的代码吗? -
所有这些问题在普通的硬编码方法中都是问题。我建议您首先编写(并开始工作)简单但冗长的代码,这样您就可以然后将其转换为使用反射。
标签: c# .net recursion reflection properties