public static ISchemaBuilder BindResolver <TResolver>( this ISchemaBuilder builder, BindingBehavior bindingBehavior, Action <IBindResolver <TResolver> > configure) where TResolver : class { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (bindingBehavior == BindingBehavior.Explicit && configure == null) { throw new ArgumentNullException(nameof(configure)); } IResolverTypeBindingBuilder bindingBuilder = ResolverTypeBindingBuilder.New() .SetFieldBinding(bindingBehavior) .SetResolverType(typeof(TResolver)); if (configure != null) { configure(new BindResolver <TResolver>(bindingBuilder)); } return(builder.AddBinding(bindingBuilder.Create())); }
public IBindResolver <TResolver> BindResolver <TResolver>( BindingBehavior bindingBehavior) where TResolver : class { IResolverTypeBindingBuilder builder = ResolverTypeBindingBuilder.New() .SetFieldBinding(bindingBehavior) .SetResolverType(typeof(TResolver)); _bindingBuilders.Add(builder); return(new BindResolver <TResolver>(builder)); }