Example #1
0
 protected AbstractMethodOperation(IMethod method, IObjectBinderLocator binderLocator)
 {
     binderLocator = binderLocator ?? new DefaultObjectBinderLocator();
     OwnerType     = (IType)method.Owner;
     Method        = method;
     Binders       = method.InputMembers.ToDictionary(x => x, binderLocator.GetBinder);
     Inputs        = Binders.Select(x => new InputMember(x.Key, x.Value, x.Key.IsOptional));
 }
Example #2
0
        protected AbstractMethodOperation(IType targetType, IMethod method, IObjectBinderLocator binderLocator,
                                          IDependencyResolver resolver, Dictionary <Type, object[]> attributeCache)
        {
            _attributeCache = attributeCache ?? _emptyCache;
            binderLocator ??= new DefaultObjectBinderLocator();
            TargetType = targetType;
            Method     = method;

            Binders = method.InputMembers.ToDictionary(x => x, binderLocator.GetBinder);
            Inputs  = Binders
                      .Select(x => new InputMember(x.Key, x.Value, x.Key.IsOptional))
                      .ToArray();
            Resolver = resolver;
        }