CSharp08.Program.GetStringValueFromRegistry C# (CSharp) Метод

GetStringValueFromRegistry() статический приватный Метод

static private GetStringValueFromRegistry ( RegistryKey key, string valueName ) : string
key RegistryKey
valueName string
Результат string
        static string GetStringValueFromRegistry(RegistryKey key, string valueName)
        {
            object val = key.GetValue(valueName);
            if (val == null) return string.Empty;

            RegistryValueKind kind = key.GetValueKind(valueName);
            if (kind == RegistryValueKind.DWord ||
                kind == RegistryValueKind.QWord ||
                kind == RegistryValueKind.String)
            {
                return val.ToString();
            }
            else if (kind == RegistryValueKind.ExpandString)
            {
                return Environment.ExpandEnvironmentVariables(val as string);
            }
            else if (kind == RegistryValueKind.MultiString)
            {
                StringBuilder buf = new StringBuilder();
                foreach (var s in val as string[])
                {
                    buf.AppendFormat("{0}, ", s);
                }
                return buf.ToString();
            }
            else if (kind == RegistryValueKind.Binary)
            {
                StringBuilder buf = new StringBuilder();
                foreach (var b in val as byte[])
                {
                    buf.AppendFormat("{0:x2} ", b);
                }
                if (buf.Length > 0) buf.Remove(buf.Length - 1, 1);
                return buf.ToString();
            }
            else return string.Empty;
        }