/// <summary> /// 为指定的 Key 存储指定的值。 /// </summary> /// <param name="key">指定项的 Key。</param> /// <param name="value">要存储的值。</param> protected override async Task WriteValueCoreAsync(string key, string value) { value = value.Replace(Environment.NewLine, "\n"); await DeserializeTask.ConfigureAwait(false); KeyValue[key] = value; }
/// <summary> /// 将为指定的 Key 清除。 /// </summary> /// <param name="key">指定项的 Key。</param> protected override async Task RemoveValueCoreAsync(string key) { await DeserializeTask.ConfigureAwait(false); KeyValue.TryRemove(key, out _); }
/// <summary> /// 获取指定 Key 的值,如果不存在,需要返回 null。 /// </summary> /// <param name="key">指定项的 Key。</param> /// <returns> /// 执行项的 Key,如果不存在,则为 null / Task<string>.FromResult(null)"/>。 /// </returns> protected override async Task <string> ReadValueCoreAsync(string key) { await DeserializeTask.ConfigureAwait(false); return(KeyValue.TryGetValue(key, out var value) ? value : null); }
/// <summary> /// 保存到文件 /// </summary> /// <returns></returns> public async Task SaveAsync(int tryCount = 10) { await DeserializeTask.ConfigureAwait(false); await _saveLoop.JoinAsync(tryCount); }