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);
        }
예제 #4
0
        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,
            });
        }