我想将一个匿名对象作为参数传递给一个方法,然后迭代它的属性,将每个属性/值添加到动态的
所以我需要做的是从
ExpandoObject
中。所以我需要做的是从
new { Prop1 = "first value", Prop2 = SomeObjectInstance, Prop3 = 1234 }
如何知道每个属性的名称和值,并能够将它们添加到 ExpandoObject
中呢?
我该怎么做呢?
顺便说一句:我会在很多单元测试中使用它(我正在使用它来重构设置中的许多垃圾),因此性能在某种程度上是相关的。我不太了解反射,但从我的理解来看,它的性能非常高,所以如果可能的话,我想避免使用它……
后续问题:
正如我所说,我将这个匿名对象作为参数传递给一个方法。在方法签名中应该使用什么数据类型?如果使用 object
,所有属性都将可用吗?