/// <summary>
        /// Gets the RegValue byte.
        /// </summary>
        /// <param name="subKey">The sub key.</param>
        /// <param name="keyName">Name of the key.</param>
        /// <param name="defaultValue">if set to <c>true</c> [default value].</param>
        /// <returns>Value from the key.</returns>
        public static byte GetValueByte(this RegistryKey regKey, string subKey, string keyName, byte defaultValue)
        {
            string sValue = GetValueString(regKey, subKey, keyName, string.Empty);

            return(TypeSystem.GetValueByte(sValue));
        }
Пример #2
0
        private static object GetFormattedValue(Type keyType, string appValue)
        {
            object value = null;

            switch (keyType.FullName)
            {
            case "System.Char":
            {
                if (appValue.Length > 0)
                {
                    value = appValue[0];
                }
                else
                {
                    value = '\0';
                }
            }
            break;

            case "System.Boolean":
                value = TypeSystem.GetValueBoolSimple(appValue);
                break;

            case "System.SByte":
                value = TypeSystem.GetValueSByte(appValue);
                break;

            case "System.Byte":
                value = TypeSystem.GetValueByte(appValue);
                break;

            case "System.Int16":
                value = TypeSystem.GetValueShort(appValue);
                break;

            case "System.UInt16":
                value = TypeSystem.GetValueUShort(appValue);
                break;

            case "System.Int32":
                value = TypeSystem.GetValueInt(appValue);
                break;

            case "System.UInt32":
                value = TypeSystem.GetValueUInt(appValue);
                break;

            case "System.Int64":
                value = TypeSystem.GetValueInt64(appValue);
                break;

            case "System.UInt64":
                value = TypeSystem.GetValueUInt64(appValue);
                break;

            case "System.Double":
                value = TypeSystem.GetValueDouble(appValue);
                break;

            default:
            {
                if (keyType.BaseType != null &&
                    keyType.BaseType == typeof(Enum))
                {
                    if (Enum.IsDefined(keyType, appValue))
                    {
                        value = TypeSystem.GetValueEnum(keyType, appValue);
                    }
                    else
                    {
                        string sValue = Enum.GetName(keyType, TypeSystem.GetValueInt(appValue));
                        value = TypeSystem.GetValueEnum(keyType, sValue);
                    }
                }
                else
                {
                    value = TypeSystem.GetValueString(appValue);
                }
            }
            break;
            }

            return(value);
        }