我正在尝试使用反射来调用方法.
像这样的东西:
method.Invoke(instance, propValues.ToArray())
Run Code Online (Sandbox Code Playgroud)
问题是没有办法确保参数数组的顺序正确.有没有办法具体说明哪个值按名称在哪个参数上进行?或者我真的需要制作自定义活页夹吗?如果是这样,有人能引导我朝正确的方向发展吗?
有没有办法具体说明哪个值按名称在哪个参数上进行?
好吧,你按参数顺序指定它们.因此,如果要将特定值映射到特定名称,则应使用method.GetParameters
该方法获取参数列表并以此方式映射它们.例如,如果你有一个Dictionary<string, object>
参数:
var arguments = method.GetParameters()
.Select(p => dictionary[p.Name])
.ToArray();
method.Invoke(instance, arguments);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3067 次 |
最近记录: |