C语言 创建自定义配置节(2)_C/C++语言_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

C语言 创建自定义配置节(2)

作者:黑客防线网安C/C++教程基地 来源:黑客防线网安C/C++教程基地 浏览次数:0

本篇关键词:配置定义创建语言
黑客防线网安网讯:  在<dbFactory> 配置节中有两个元素,即<default>和<factorys>,而<factorys>元素又包含了两个子元素。那么在这里<default>就是单一型配置元素,而<factorys>就是集合型配置元素。我们需...
  在<dbFactory> 配置节中有两个元素即<default>和<factorys>而<factorys>元素又包含了两个子元素那么在这里<default>就是单一型配置元素,而<factorys>就是集合型配置元素我们需要分别实现与这些元素相对应的类及其属性。
  <default>元素:它是一个单一型的元素,所以我们继承ConfigurationElement。该元素中有一个factory属性,那么我们在类中进行相应的定义。代码如下:
  代码
  public class DefaultElement: ConfigurationElement
  {
  [ConfigurationProperty("factory")]
  public string Factory
  {
  get
  {
  return this["factory"] as string;
  }
  set
  {
  this["factory"] = value;
  }
  }
  }
  注意:在属性定义上面我们需要注册该属性的ConfigurationProperty特性。
  <factorys>子元素:
  代码
  public class FactoryElement : ConfigurationElement
  {
  [ConfigurationProperty( "name" )]
  public string Name
  {
  get
  {
  return this["name"] as string;
  }
  set
  {
  this["name"] = value;
  }
  }
  [ConfigurationProperty("assembly")]
  public string Assembly
  {
  get
  {
  return this["assembly"] as string;
  }
  set
  {
  this["assembly"] = value;
  }
  }
  [ConfigurationProperty("class")]
  public string Class
  {
  get
  {
  return this["class"] as string;
  }
  set
  {
  this["class"] = value;
  }
  }
  }
  <factorys>元素是集合型元素,继承ConfigurationElementCollection。
  代码
  public class FactoryElements : ConfigurationElementCollection
  {
  protected override ConfigurationElement CreateNewElement()
  {
  return new FactoryElement();
  }
  protected override object GetElementKey( ConfigurationElement element )
  {
  return ((FactoryElement)element).Name;
  }
  public FactoryElement this[string name]
  {
  get
  {
  return BaseGet( name ) as FactoryElement;
  }
  }
  }
  ConfigurationElementCollection类是个抽象类,你应该显示的实现它的CreateNewElement方法和GetElementKey方法。
  <dbFactory>节点,继承于ConfigurationSection
  代码
  public class DbFactorySection : ConfigurationSection
  {
  [ConfigurationProperty("default")]
  public DefaultElement DefaultFactory
  {
  get
  {
  return this["default"] as DefaultElement;
  }
  set
  {
  this["default"] = value;
  }
  }
  [ConfigurationProperty( "factorys" )]
  public FactoryElements Factorys
  {
  get
  {
  return this["factorys"] as FactoryElements;
  }
  set
  {
  this["factorys"] = value;
  }
  }
  }
  配置节处理程序终于写完了,把这四个类放在同一个工程目录下,编译成一个DLL。在你需要获取配置信息的地方,引用这个DLL,用DbFactorySection section = C
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15269-1.html
网站维护教程更新时间:2012-04-04 22:52:29  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer