Пример #1
0
 public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
 {
     var callInfo = new ActionCallInfo
     {
         NamedArguments = binder.CallInfo
             .ArgumentNames
             .Reverse()
             .Zip(args.Reverse(), (x, y) => new Tuple<string, object>(x, y))
             .ToList(),
         UnnamedArguments = args.Take(binder.CallInfo.ArgumentCount - binder.CallInfo.ArgumentNames.Count).ToList(),
         MethodName = binder.Name
     };
     result = binder.ResultDiscarded()
              	? ExecuteListeners(callInfo)
              	: new ServiceAgent(_resolvingService) {CallInfo = callInfo};
     return true;
 }