コード例 #1
0
        private async Task _DeserializeKeysAsync()
        {
            _keyList.Clear();
            _keyMap.Clear();

            var keyMap = await _driver.DeserializeKeysAsync(typeof(T), typeof(TKey), new Dictionary <TKey, int>())
                         .ConfigureAwait(false);

            if (keyMap == null)
            {
                keyMap = new Dictionary <TKey, int>();
            }

            if (keyMap.Count > 0)
            {
                foreach (var key in keyMap.Keys)
                {
                    var idx = (int)keyMap[key];

                    if (idx >= NextKey)
                    {
                        NextKey = idx + 1;
                    }

                    _keyMap.Add((TKey)key, idx);

                    _keyList.Add(new TableKey <T, TKey>((TKey)key, _resolver));
                }
            }
            else
            {
                NextKey = 0;
            }
        }