/// <summary> /// Initializes a new instance of the <see cref="SchemaFactory"/> class. /// </summary> /// <param name="attributeAccessor">The attribute accessor.</param> /// <param name="graphTypeProvider">The graph type provider.</param> /// <param name="binderProvider">The binder provider.</param> public SchemaFactory( IAttributeAccessor attributeAccessor, IGraphTypeProvider graphTypeProvider, IArgumentBinderProvider binderProvider) { _attributeAccessor = attributeAccessor ?? throw new ArgumentNullException(nameof(attributeAccessor)); _graphTypeProvider = graphTypeProvider ?? throw new ArgumentNullException(nameof(graphTypeProvider)); _binderProvider = binderProvider ?? throw new ArgumentNullException(nameof(binderProvider)); }
/// <summary> /// Initializes a new instance of the <see cref="OperationResolver"/> class. /// </summary> /// <param name="operation">The <see cref="GraphOperationDescriptor"/> describing the current GraphQL operation.</param> /// <param name="binderProvider">The <see cref="IArgumentBinderProvider"/> to provide <see cref="IArgumentBinder"/>.</param> public OperationResolver(GraphOperationDescriptor operation, IArgumentBinderProvider binderProvider) { _operation = operation ?? throw new ArgumentNullException(nameof(operation)); _executor = ObjectMethodExecutor.Create(_operation.MethodInfo, _operation.Service.ServiceType.GetTypeInfo()); _binder = Guard.ArgumentNotNull(binderProvider, nameof(binderProvider)).GetArgumentBinder(); }