运行时环境参数

背景

我们发现很多组件的业务只是需要获取一个参数,就需要新增一个接口,并引用这个接口所在的dll,导致组件之间的不必要的耦合性越来越多,比如获取器材的下载目录,是否使用本地模式下载资源等,为了解决这种类型的问题,在LabFramework.Interface中,新增了一个IRuntimeParameter

/// <summary>
    /// 运行时参数,目前仅限单线程使用
    /// </summary>
    public interface IRuntimeParameter
    {
        /// <summary>
        /// 根据Key获取对应的值,值是任意类型
        /// </summary>
        /// <typeparam name="T">值类型</typeparam>
        /// <param name="key">参数的Key值</param>
        /// <returns></returns>
        T GetValueByKey<T>(string key);// where T:new();
        /// <summary>
        /// 跟踪Key设置对应的值
        /// </summary>
        /// <typeparam name="T">值类型</typeparam>
        /// <param name="key">参数的key值</param>
        /// <param name="value"></param>
        void SetValue<T>(string key, T value);// where T : new();
    }

注意事项

  1. 为了避免装箱问题,目前Key是根据类型隔离的,也就是不同类型,同样的参数获取到的内容是不一样的。

已使用参数说明表

key 类型 说明
String/DownloadStorePath String 举例:器材下载目录
String/DownloadCachePath String 举例:下载缓存目录