コード例 #1
0
ファイル: ResolverBase.cs プロジェクト: 00mjk/Router-1
        public Task AddMatcherAsync(MatcherBase matcher, int Order)
        {
            if (null == matcher)
            {
                throw new ArgumentNullException("matcher");
            }

            return(Task.Run(() =>
            {
                while (0 != Interlocked.CompareExchange(ref Changing, 1, 0))
                {
                    locker.SpinOnce();
                }

                mMatchList.Add(Order, matcher);
                Changing = 0;
            }));
        }
コード例 #2
0
 public IIFMatcher(MatcherBase predicate, MatcherBase truePredicate, MatcherBase falsePredicate)
 {
     Predicate = predicate;
     True      = truePredicate;
     False     = falsePredicate;
 }
コード例 #3
0
ファイル: OrMatcher.cs プロジェクト: 00mjk/Router-1
 public OrMatcher(MatcherBase left, MatcherBase right) : base(left, right)
 {
 }
コード例 #4
0
ファイル: OperandMatcherBase.cs プロジェクト: 00mjk/Router-1
 public OperandMatcherBase(MatcherBase left, MatcherBase right)
 {
     Left  = left;
     Right = right;
 }