public VersionNumber() { major = 0U; minor = 0U; build = 0U; hotfix = 0U; rc = 0U; stage = VersionNumber.Stage.Release; }
public VersionNumber(uint major, uint minor, uint build, uint hotfix, uint rc, VersionNumber.Stage stage) { this.major = major; this.minor = minor; this.build = build; this.hotfix = hotfix; this.rc = rc; this.stage = stage; if (rc > 0U && stage == VersionNumber.Stage.Release) { this.stage = VersionNumber.Stage.ReleaseCandidate; } if (VersionNumber.Stage.ReleaseCandidate != this.stage || rc != 0U) { return; } rc = 1U; }
public VersionNumber(string versionString) : this() { if (string.IsNullOrEmpty(versionString)) { return; } var num1 = versionString.IndexOf('-'); var str1 = versionString; var str2 = (string)null; if (num1 >= 0) { str1 = versionString.Substring(0, num1); str2 = versionString.Substring(num1); } string[] strArray = str1.Split('.'); if (strArray.Length != 4) { return; } uint.TryParse(strArray[0], out major); uint.TryParse(strArray[1], out minor); uint.TryParse(strArray[2], out build); uint.TryParse(strArray[3], out hotfix); if (string.IsNullOrEmpty(str2)) { return; } try { var num2 = str2.IndexOf("-RC"); if (num2 >= 0) { var startIndex = num2 + 3; var s = str2.Substring(startIndex); var length = s.IndexOf('-'); if (length > 0) { s = s.Substring(0, length); } uint.TryParse(s, out rc); stage = VersionNumber.Stage.ReleaseCandidate; } if (str2.Contains("ALPHA")) { stage = VersionNumber.Stage.Alpha; } if (str2.Contains("BETA")) { stage = VersionNumber.Stage.Beta; } if (!str2.Contains("DEBUG")) { return; } stage = VersionNumber.Stage.DEBUG; } catch (Exception ex) { } }