我正在尝试使用反射调用方法。
像这样的事情:
method.Invoke(instance, propValues.ToArray())
问题是没有办法确保参数数组的顺序正确。有没有办法通过名称来指定哪些值适用于哪个参数?或者我真的必须制作一个定制活页夹吗?如果是这样,有人可以引导我走向正确的方向吗?
有没有办法通过名称来指定哪些值适用于哪个参数?
好吧,您按参数顺序指定它们。因此,如果您想将特定值映射到特定名称,您应该使用以下命令获取参数列表method.GetParameters http://msdn.microsoft.com/en-us/library/system.reflection.methodbase.getparameters.aspx并以这种方式绘制它们。例如,如果您有一个Dictionary<string, object>
与参数:
var arguments = method.GetParameters()
.Select(p => dictionary[p.Name])
.ToArray();
method.Invoke(instance, arguments);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)