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); } }
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; }