SenseNet.ContentRepository.Storage.VersionNumber.TryParse C# (CSharp) Метод

TryParse() публичный статический Метод

Parses the specified version string. Valid format is the following: ((['V'|'v'])?[majornumber][.][minornumber]([.][*]+)?)|'lastmajor'|'lastminor' For example: V1.0, 2.3, v12.3456, lastmajor
public static TryParse ( string versionString, VersionNumber &version ) : bool
versionString string The version string
version VersionNumber Parsed VersionNumber if conversion was successful.
Результат bool
        public static bool TryParse(string versionString, out VersionNumber version)
        {
            version = null;
            var input = versionString.ToLower();
            if (input == "lastmajor")
            {
                version = VersionNumber.LastMajor;
                return true;
            }
            if (input == "lastminor")
            {
                version = VersionNumber.LastMinor;
                return true;
            }
            if (input[0] == 'v')
                input = input.Substring(1);
            var sa = input.Split('.');
            if (sa.Length < 2)
                return false;
            int major, minor;
            if (!int.TryParse(sa[0], out major))
                return false;
            if (!int.TryParse(sa[1], out minor))
                return false;
            if (sa.Length == 2)
            {
                version = new VersionNumber(major, minor);
                return true;
            }

            VersionStatus status;
            switch (sa[2])
            {
                case "a":
                case "approved": status = VersionStatus.Approved; break;
                case "l":
                case "locked": status = VersionStatus.Locked; break;
                case "d":
                case "draft": status = VersionStatus.Draft; break;
                case "r":
                case "rejected": status = VersionStatus.Rejected; break;
                case "p":
                case "pending": status = VersionStatus.Pending; break;
                default:
                    return false;
            }
            version = new VersionNumber(major, minor, status);
            return true;
        }