namespace GFramework.Core.Abstractions.environment; /// /// 定义环境接口,提供应用程序运行环境的相关信息 /// public interface IEnvironment { /// /// 获取环境名称 /// public string Name { get; } /// /// 根据键值获取指定类型的环境配置值 /// /// 要获取的值的类型,必须为引用类型 /// 用于查找配置值的键 /// 与指定键关联的配置值,如果未找到则返回null T? Get(string key) where T : class; /// /// 尝试获取环境值(显式判断) /// /// 要获取的值的类型,必须为引用类型 /// 用于查找配置值的键 /// 输出参数,如果找到配置值则返回该值,否则返回默认值 /// 如果找到指定键的配置值则返回true,否则返回false bool TryGet(string key, out T value) where T : class; /// /// 获取必须存在的环境值(强依赖) /// /// 要获取的值的类型,必须为引用类型 /// 用于查找配置值的键 /// 与指定键关联的配置值,如果未找到则抛出异常 T GetRequired(string key) where T : class; /// /// 注册键值对到环境值字典中 /// /// 要注册的键 /// 要注册的值 void Register(string key, object value); /// /// 初始化环境值字典 /// void Initialize(); }