NinjaCoder.MvvmCross.Services.SettingsService.GetVersion C# (CSharp) Method

GetVersion() private method

Gets the version.
private GetVersion ( ) : string
return string
        internal string GetVersion()
        {
            RegistryKey softwareKey = Registry.CurrentUser.OpenSubKey("Software");

            RegistryKey microsoftKey = softwareKey?.OpenSubKey("Microsoft");

            RegistryKey vsKey = microsoftKey?.OpenSubKey("VisualStudio");

            RegistryKey versionKey = vsKey?.OpenSubKey("14.0");

            RegistryKey extensionManagerKey = versionKey?.OpenSubKey("ExtensionManager");

            RegistryKey enabledExtensionsKey = extensionManagerKey?.OpenSubKey("EnabledExtensions");

            if (enabledExtensionsKey != null)
            {
                string[] valueNames = enabledExtensionsKey.GetValueNames();

                foreach (string valueName in valueNames)
                {
                    if (valueName.StartsWith("NinjaCoderMvvmCross.vsix"))
                    {
                        string[] parts = valueName.Split(',');

                        return parts[1];
                    }
                }
            }

            return string.Empty;
        }