Beispiel #1
0
        public static void ValidateOption <T>(ArgumentSyntax syntax, string name, T value)
        {
            var arg = syntax.GetActiveOptions()
                      .Where(p => p.Names.Any(n => n == name))
                      .OfType <Argument <T> >()
                      .FirstOrDefault();

            Assert.NotNull(arg);
            Assert.Equal(value, arg.Value);
        }
        public static T GetOption<T>(this ArgumentSyntax syntax, string name, bool isRequired = false)
        {
            var firstName = name.Split('|').First();
            var values = syntax.GetActiveOptions()
                .OfType<Argument<T>>()
                .Where(a => firstName.Equals(a.Name, StringComparison.Ordinal))
                .Select(a => a.Value);

            if (isRequired && values.All(v => Equals(v, default(T))))
            {
                syntax.ReportError(string.Format(Strings.ErrorOptionMissing, name));
            }

            return values.FirstOrDefault();
        }