欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-11 08:26:58
本文实例讲述了c#自定读取配置文件类。分享给大家供大家参考。具体如下: 这个c#类定义了读取appsettings的配置文件的常用方法,通过这个类可以很容易从appset...

本文实例讲述了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#程序设计有所帮助。