コード例 #1
0
 public void RegisterInvoker(IRuleInvoker ruleInvoker)
 {
     //Re-Calculate normalized invokers every time a new invoker is added.
     lock (_synclock)
     {
         _normalizedInvokers.Clear();
         _invokers.Add(ruleInvoker);
     }
 }
コード例 #2
0
 public void RegisterInvoker(IRuleInvoker ruleInvoker)
 {
     //Re-Calculate normalized invokers every time a new invoker is added.
     lock (_synclock)
     {
         _normalizedInvokers.Clear();
         _invokers.Add(ruleInvoker);
     }
 }
コード例 #3
0
        public void RegisterInvoker(IRuleInvoker ruleInvoker)
        {
            //Re-Calculate normalized invokers every time a new invoker is added.
            _normalizedInvokers.Clear();

            if (_invokers.Any(ri => ri.Key == ruleInvoker.ParameterType))
            {
                var invokers = _invokers.First(ri => ri.Key == ruleInvoker.ParameterType).Value;
                invokers.Add(ruleInvoker);
            }
            else
            {
                var invokers = new List <IRuleInvoker>();
                invokers.Add(ruleInvoker);
                _invokers.Add(new KeyValuePair <Type, List <IRuleInvoker> >(ruleInvoker.ParameterType, invokers));
            }
        }
コード例 #4
0
ファイル: InvokerRegistry.cs プロジェクト: Hobbitron/WheelMUD
        public void RegisterInvoker(IRuleInvoker ruleInvoker)
        {
            //Re-Calculate normalized invokers every time a new invoker is added.
            _normalizedInvokers.Clear();

            if (_invokers.Any(ri => ri.Key == ruleInvoker.ParameterType))
            {
                var invokers = _invokers.First(ri => ri.Key == ruleInvoker.ParameterType).Value;
                invokers.Add(ruleInvoker);
            }
            else
            {
                var invokers = new List<IRuleInvoker>();
                invokers.Add(ruleInvoker);
                _invokers.Add(new KeyValuePair<Type, List<IRuleInvoker>>(ruleInvoker.ParameterType, invokers));
            }
        }
コード例 #5
0
        public void RegisterInvoker(IRuleInvoker ruleInvoker)
        {
            // Recalculate normalized invokers every time a new invoker is added.
            normalizedInvokers.Clear();

            if (invokers.Any(ri => ri.Key == ruleInvoker.ParameterType))
            {
                var invokersList = this.invokers.First((KeyValuePair <Type, List <IRuleInvoker> > ri) => ri.Key == ruleInvoker.ParameterType).Value;
                invokersList.Add(ruleInvoker);
            }
            else
            {
                var newInvokersList = new List <IRuleInvoker>()
                {
                    ruleInvoker
                };
                this.invokers.Add(new KeyValuePair <Type, List <IRuleInvoker> >(ruleInvoker.ParameterType, newInvokersList));
            }
        }
コード例 #6
0
ファイル: RulesEngine.cs プロジェクト: jmptrader/RulesEngine
 void IRegisterInvoker.RegisterInvoker(IRuleInvoker ruleInvoker)
 {
     _registry.RegisterInvoker(ruleInvoker);
 }
コード例 #7
0
 public void RegisterInvoker(IRuleInvoker ruleInvoker)
 {
     innerTrue.RegisterInvoker(ruleInvoker);
 }
コード例 #8
0
ファイル: RegisterHelper.cs プロジェクト: wyt3dr4g0n/WheelMUD
 public static void RegisterInvoker(this IRegisterInvoker register, IRuleInvoker ruleInvoker)
 {
     register.RegisterInvoker(ruleInvoker);
 }