コード例 #1
0
        public bool TryGetValueKind(string collectionPath, string key, out ValueKind kind)
        {
            CodeContract.RequiresArgumentNotNullAndNotEmpty(collectionPath, "collectionPath");
            collectionPath = collectionPath.NormalizePath();
            CodeContract.RequiresArgumentNotNullAndNotEmpty(key, "key");
            kind = ValueKind.Unknown;
            RegistryValueKind registryValueKind = default(RegistryValueKind);

            if (registryTools.TryGetRegistryValueKindFromCurrentUserRoot(collectionPath, key, out registryValueKind))
            {
                switch (registryValueKind)
                {
                case RegistryValueKind.DWord:
                    kind = ValueKind.DWord;
                    break;

                case RegistryValueKind.QWord:
                    kind = ValueKind.QWord;
                    break;

                case RegistryValueKind.MultiString:
                    kind = ValueKind.MultiString;
                    break;

                case RegistryValueKind.String:
                    kind = ValueKind.String;
                    break;

                default:
                    kind = ValueKind.Unknown;
                    break;
                }
                return(true);
            }
            return(false);
        }