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)); }
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; }