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; })); }
public IIFMatcher(MatcherBase predicate, MatcherBase truePredicate, MatcherBase falsePredicate) { Predicate = predicate; True = truePredicate; False = falsePredicate; }
public OrMatcher(MatcherBase left, MatcherBase right) : base(left, right) { }
public OperandMatcherBase(MatcherBase left, MatcherBase right) { Left = left; Right = right; }