using System.Diagnostics.CodeAnalysis; namespace PCL.Core.App.Configuration; public interface IConfigProvider { /// /// 获取一个值。 /// /// 键 /// 返回值,若不存在则为该类型默认值 /// 上下文参数 /// 值的类型 /// 值是否存在,若存在则为 true public bool GetValue(string key, [NotNullWhen(true)] out T? value, object? argument = null); /// /// 设置一个值。 /// /// 键 /// 新值 /// 上下文参数 /// 值的类型 public void SetValue(string key, T value, object? argument = null); /// /// 删除一个值。 /// /// 键 /// 上下文参数 public void Delete(string key, object? argument = null); /// /// 判断一个值是否存在。 /// /// 键 /// 上下文参数 /// 值是否存在,若存在则为 true public bool Exists(string key, object? argument = null); }