コード例 #1
0
        private bool SameArguments(Arguments arguments1, Arguments arguments2)
        {
            if (arguments1.Count() != arguments2.Count())
            {
                return(false);
            }

            return(arguments1.All(arg1 =>
            {
                var arg2 = arguments2.FirstOrDefault(x => x.Name == arg1.Name);

                if (arg2 == null)
                {
                    return false;
                }
                return SameValue(arg1, arg2);
            }));
        }
コード例 #2
0
        public bool IsValidUsage(IEnumerable <ITokenHandler> handlers)
        {
            var actualArgs = handlers.OfType <Argument>();

            if (actualArgs.Count() != Arguments.Count())
            {
                return(false);
            }

            if (!Arguments.All(x => actualArgs.Contains(x)))
            {
                return(false);
            }

            var flags = handlers.Where(x => !(x is Argument));

            return(flags.All(x => ValidFlags.Contains(x)));
        }