public FluentExodataBindingBuilder(IExodataBindingSource source, Maybe <ISymbol> symbol, Action <IExodataBinding> onBuildComplete) { Source = Guard.NotNull(source, "source"); Symbol = symbol; OnBuildComplete = Guard.NotNull(onBuildComplete, "onBuildComplete"); Context = Maybe <TContext> .NoValue; Subject = Maybe <TSubject> .NoValue; Members = new MemberInfo[0]; }
public void RemoveExodataBindingSource(IExodataBindingSource source) { Guard.NotNull(source, "source"); _BindingSources.Remove(source); }
public void AddExodataBindingSource(IExodataBindingSource source) { Guard.NotNull(source, "source"); _BindingSources.Add(source); }
public static IExodataBinding Create <TExodata, TContext, TSubject>(string name, IExodataBindingSource source, Maybe <ISymbol> symbol, Maybe <TContext> context, Maybe <TSubject> subject, MemberInfo[] members, Func <IExodataRequest <TExodata, TContext, TSubject>, bool> predicate, Func <IExodataRequest <TExodata, TContext, TSubject>, Maybe <TExodata> > valueFactory) { Guard.NotNull(source, "source"); Guard.NotNull(valueFactory, "valueFactory"); return(new TypedBinding <TExodata, TContext, TSubject> { Name = name, Source = source, Symbol = symbol, Context = context, Subject = subject, Members = members, Predicate = predicate, ValueFactory = valueFactory, }); }