/// <summary> /// Add a general binder. /// </summary> /// <param name="binder"></param> /// <returns></returns> public FluentBinder Bind(IBindingProvider binder) { if (this._hook != null) { var fluidBinder = (FluentBindingProvider <TAttribute>)binder; fluidBinder.BuildParameterDescriptor = _hook; _hook = null; } // Apply filters if (this._filterDescription.Count > 0) { binder = new FilteringBindingProvider <TAttribute>( _configuration, this._nameResolver, binder, FilterNode.And(this._filterDescription)); this._filterDescription.Clear(); } var opts = new FluentBinder(_configuration, _nameResolver, binder); _binders.Add(opts); return(opts); }