TryGetValueFromConfig:读取配置信息时防止出错

using System;
using System.Configuration;
using System.Diagnostics;
using System.Runtime.CompilerServices;

public sealed class ConfigHelper
{
    private static readonly ConfigHelper _instance = null;

    #region Constructors
    static ConfigHelper()
    {
        _instance = new ConfigHelper();
    }

    private ConfigHelper() { }
    #endregion

    public static ConfigHelper Instance { get { return _instance; } }

    /// <summary>
    /// 转换Appsetting节点信息为指定类型
    /// </summary>
    /// <typeparam name="T">类型</typeparam>
    /// <param name="parseFunc">需要转换的类型</param>
    /// <param name="defaultTValueFunc">类型默认值</param>
    /// <param name="key">AppSetting节点name</param>
    /// <returns>节点类型</returns>
    public T TryGetValueFromConfig<T>(Func<string, T> parseFunc, Func<T> defaultTValueFunc, [CallerMemberName]string key = "")
    {
        try
        {
            var node = ConfigurationManager.AppSettings[key];
            return !string.IsNullOrWhiteSpace(node) ? parseFunc(node) : defaultTValueFunc();
        }
        catch (Exception ex)
        {
            Trace.Write(ex.Message);
            return default(T);
        }
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 注视着权力,会被权力吞没 新官上任之后,就会想把所有大权都掌握,就好像,没吃过馒头的人,见到了梦寐以求的...
    Keven_Ai阅读 3,613评论 0 49
  • 人生无外乎选择二字
    胖胖的城阅读 3,025评论 0 49
  • 那樱花倏的开了, 露出她的俏脸, 巧笑嫣然!
    树皮人阅读 1,846评论 0 0
  • 最近两三天我重感冒, 身体不好,工作不顺利, 人也有点消沉…… 晚上,我在整理原创歌曲作品, 准备发布《旅人》歌词...
    邝鉴萍阅读 3,408评论 2 5
  • 信念很重要,有了信念,每天才有动力,向宇宙下订单,就是坚信自己的信念,那么每时每天,所做的事,才会朝着心里这个信念...
    笨笨1106阅读 1,198评论 0 1

友情链接更多精彩内容