Esempio n. 1
0
        private bool TryParseVersionQualifier(char qualifierchar, out VersionQualifier qualifier)
        {
            switch (qualifierchar)
            {
            case '*':
                qualifier = VersionQualifier.Any;
                return(true);

            case '=':
                qualifier = VersionQualifier.Equal;
                return(true);

            case '>':
                qualifier = VersionQualifier.Greater;
                return(true);

            case '<':
                qualifier = VersionQualifier.Lower;
                return(true);

            default:
                qualifier = default(VersionQualifier);
                return(false);
            }
        }
Esempio n. 2
0
        public PackageVersion(string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("name");
            }
            VersionQualifier qualifier       = VersionQualifier.Equal;
            char             qualifierchar   = name[0];
            bool             qualifierinname = this.TryParseVersionQualifier(qualifierchar, out qualifier);

            if (qualifier == VersionQualifier.Any && name.Length > 1)
            {
                throw new ArgumentException("Name is not valid.", "name");
            }
            if (qualifier != VersionQualifier.Any && name.Length < 2)
            {
                throw new ArgumentException("Name is not valid.", "name");
            }
            if (qualifierinname)
            {
                this.Number = name.Substring(1);
            }
            else
            {
                this.Number = name;
            }
            this.Qualifier = qualifier;
            this.Name      = name;
        }