Esempio n. 1
0
 /// <summary>
 /// 注册Reducers
 /// </summary>
 /// <param name="reducer"></param>
 public void AddReducer(AReducers <S> reducer)
 {
     // var paramType = reducer.GetType();
     // var find      = this.reducerList.Find((r) => r.GetType() != paramType);
     if (this.reducer == null)
     {
         this.reducer = reducer;
     }
 }
        /// <summary>
        /// 创建store
        /// </summary>
        /// <param name="state"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        static public Store <T> CreateStore <T>(AReducers <T> reducers) where T : AStateBase, new()
        {
            var store = GetStore <T>();

            //添加reducer
            store?.AddReducer(reducers);
            //返回
            return(store);
        }
Esempio n. 3
0
        /// <summary>
        /// 创建store
        /// 每次请求都是独立的Store
        /// </summary>
        /// <param name="state"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        static public StoreWrapper CreateStore <A, B>(AReducers <A> r1, AReducers <B> r2) where A : AStateBase, new() where B : AStateBase, new()
        {
            //构造store
            var s1 = CreateStore <A>(r1);
            var s2 = CreateStore <B>(r2);

            var sw = new StoreWrapper(s1, s2);

            return(sw);
        }
Esempio n. 4
0
        /// <summary>
        /// 创建store
        /// 每次请求都是独立的Store
        /// </summary>
        /// <param name="state"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        static public Store <T> CreateStore <T>(AReducers <T> reducer) where T : AStateBase, new()
        {
            //构造store
            var store = Activator.CreateInstance <Store <T> >();

            store.AddReducer(reducer);
            StoreList.Add(store);
            //返回
            return(store);
        }
Esempio n. 5
0
        /// <summary>
        /// 注册Reducers
        /// </summary>
        /// <param name="reducer"></param>
        public void AddReducer(AReducers <S> reducer)
        {
            var paramType = reducer.GetType();
            var find      = this.reducerList.Find((r) => r.GetType() != paramType);

            if (find == null)
            {
                this.reducerList.Add(reducer);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 创建store
        /// 每次请求都是独立的Store
        /// </summary>
        /// <param name="state"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        static public StoreWrapper CreateStore <A, B, C, D>(AReducers <A> r1, AReducers <B> r2, AReducers <C> r3, AReducers <D> r4) where A : AStateBase, new() where B : AStateBase, new() where C : AStateBase, new() where D : AStateBase, new()
        {
            //构造store
            var s1 = CreateStore <A>(r1);
            var s2 = CreateStore <B>(r2);
            var s3 = CreateStore <C>(r3);
            var s4 = CreateStore <D>(r4);

            var sw = new StoreWrapper(s1, s2, s3, s4);

            return(sw);
        }
Esempio n. 7
0
 /// <summary>
 /// 注册Reducers
 /// </summary>
 /// <param name="reducers"></param>
 public void RegisterReducers(AReducers <T> reducers)
 {
     this.reducers = reducers;
 }