示例#1
0
        public RT ConsiderValueRule <RT>(String Name, params Object[] Arguments)
        {
            if (Arguments == null)
            {
                Arguments = new Object[] { null }
            }
            ;

            bool valueReturned = false;

            foreach (var ruleset in EnumerateRuleSets(Arguments))
            {
                var r = ruleset.ConsiderValueRule <RT>(Name, out valueReturned, Arguments);
                if (valueReturned)
                {
                    return(r);
                }
            }

            if (Rules == null)
            {
                throw new InvalidOperationException();
            }
            return(Rules.ConsiderValueRule <RT>(Name, out valueReturned, Arguments));
        }