【发布时间】:2014-07-20 15:13:33
【问题描述】:
我正在使用下面的方法通过反射来实例化一个对象
Activator.CreateInstance(Type type, params object[] parameters)
其中“参数”是在运行时传递给构造函数的参数列表。
但是,我希望这个过程对团队中的其他开发人员来说更直观,而不是传递 object[] 参数数组,我希望他们传递一个匿名对象,例如
// note, invalid code
Activator.CreateInstance(typeof(MyType), new { paramName1 = "abc", paramName2 = "xyz})
由于框架方法不支持它,有没有人有将匿名对象转换为数组的代码示例?请注意,参数的顺序对于 Activator.CreateInstance() 方法很重要,因为这就是它进行参数匹配的方式。显然这很容易出错,这就是为什么我更喜欢使用匿名类型。
欢迎提出任何建议。
亚历克。
【问题讨论】:
标签: c# .net reflection