我正在实施一个DynamicObject
. 在 中TryInvokeMethod
,除了参数(传递给方法)之外,我还需要参数的名称(如果已使用)。
我可以看到binder.CallInfo.ArgumentNames
确实提供了名称,但我无法将它们与值相关联。有没有办法这样做,或者我希望反对希望:
public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
{
var names = binder.CallInfo.ArgumentNames;
foreach (var arg in args)
{
arguments.Add(new Argument(arg));
}
//I need to associate the names and the args
result = this;
return true;
}
因此,例如,如果我拨打以下电话:
myDynamicObject.DynamicInvoke("test", something: "test2")
我有test
and test2
,and also something
,但我无法获得something
作为名称test2
且test
没有名称的信息。