C#自定读取配置文件类实例

 更新时间:2015年03月25日 14:44:47   作者:lele  
这篇文章主要介绍了C#自定读取配置文件类,实例分析了C#读取配置文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#自定读取配置文件类。分享给大家供大家参考。具体如下:

这个C#类定义了读取AppSettings的配置文件的常用方法,通过这个类可以很容易从AppSettings配置文件读取字符串、数字、bool类型的字段信息。

using System;
using System.Configuration;
namespace DotNet.Utilities
{
  /// <summary>
  /// web.config操作类
  /// </summary>
  public sealed class ConfigHelper
  {
    /// <summary>
    /// 得到AppSettings中的配置字符串信息
    /// </summary>
    /// <param name="key"></param>
    /// <returns></returns>
    public static string GetConfigString(string key)
    {
      string CacheKey = "AppSettings-" + key;
      object objModel = DataCache.GetCache(CacheKey);
      if (objModel == null)
      {
        try
        {
          objModel = ConfigurationManager.AppSettings[key];
          if (objModel != null)
          {            
            DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(180), TimeSpan.Zero);
          }
        }
        catch
        { }
      }
      return objModel.ToString();
    }
    /// <summary>
    /// 得到AppSettings中的配置Bool信息
    /// </summary>
    /// <param name="key"></param>
    /// <returns></returns>
    public static bool GetConfigBool(string key)
    {
      bool result = false;
      string cfgVal = GetConfigString(key);
      if(null != cfgVal && string.Empty != cfgVal)
      {
        try
        {
          result = bool.Parse(cfgVal);
        }
        catch(FormatException)
        {
          // Ignore format exceptions.
        }
      }
      return result;
    }
    /// <summary>
    /// 得到AppSettings中的配置Decimal信息
    /// </summary>
    /// <param name="key"></param>
    /// <returns></returns>
    public static decimal GetConfigDecimal(string key)
    {
      decimal result = 0;
      string cfgVal = GetConfigString(key);
      if(null != cfgVal && string.Empty != cfgVal)
      {
        try
        {
          result = decimal.Parse(cfgVal);
        }
        catch(FormatException)
        {
          // Ignore format exceptions.
        }
      }
      return result;
    }
    /// <summary>
    /// 得到AppSettings中的配置int信息
    /// </summary>
    /// <param name="key"></param>
    /// <returns></returns>
    public static int GetConfigInt(string key)
    {
      int result = 0;
      string cfgVal = GetConfigString(key);
      if(null != cfgVal && string.Empty != cfgVal)
      {
        try
        {
          result = int.Parse(cfgVal);
        }
        catch(FormatException)
        {
          // Ignore format exceptions.
        }
      }
      return result;
    }
  }
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • 基于c# 类、接口、结构的联系与区别详解

    基于c# 类、接口、结构的联系与区别详解

    本篇文章是对c#中类与接口以及结构的联系与区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Untiy Shader实现纹理贴图滚动

    Untiy Shader实现纹理贴图滚动

    这篇文章主要为大家详细介绍了Untiy Shader实现纹理贴图滚动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 解析C#中用Process类杀死进程,执行命令的深入分析

    解析C#中用Process类杀死进程,执行命令的深入分析

    本篇文章是对C#中用Process类杀死进程,执行命令进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Unity Shader实现2D游戏迷雾

    Unity Shader实现2D游戏迷雾

    这篇文章主要为大家详细介绍了Unity Shader实现2D游戏迷雾,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • VS Code里使用Debugger for Unity插件调试的方法(2023最新版)

    VS Code里使用Debugger for Unity插件调试的方法(2023最新版)

    Debugger for Unity是一个非正式支持的,官方推荐的,应用最广的,Visual Studio Code上的Unity调试插件,这篇文章主要介绍了VS Code里使用Debugger for Unity插件进行调试(2023最新版),需要的朋友可以参考下
    2023-02-02
  • C#类的创建与初始化实例解析

    C#类的创建与初始化实例解析

    这篇文章主要介绍了C#类的创建与初始化实例解析,有助于初学者较为直观的理解C#的类,需要的朋友可以参考下
    2014-07-07
  • C#内置泛型委托之Action委托

    C#内置泛型委托之Action委托

    这篇文章介绍了C#内置泛型委托之Action委托的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#多线程系列之进程同步Mutex类

    C#多线程系列之进程同步Mutex类

    本文详细讲解了C#多线程中的进程同步Mutex类,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • c#多线程中Lock()关键字的用法小结

    c#多线程中Lock()关键字的用法小结

    本篇文章主要是对c#多线程中Lock()关键字的用法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C# 异步多线程入门到精通之Thread篇

    C# 异步多线程入门到精通之Thread篇

    Thread 是 1.0 时代的产物,当时 C# 就考虑到了多线程,于是就设计了 Thread 。其实现在不推荐使用,除非在维护老的项目已经用了的。Thread 也是比较鸡肋的,有很多缺陷,但也并不是一无是处
    2021-11-11

最新评论