一个用C#编写的自动读写配置文件的开源组件

需求

为了达到自动读写的目的,我们需要满足如下需求:

1、对于不同格式的配置文件,只需添加相应的配置模式接口实现,就可以使组件自动读取相同格式的配置文件。

2、可以方便设置不同模式下的参数,比如Ini配置文件,我们需要设置Section, Key,DefautValue等参数。

3、所有的自动读写过程都在基类中封装实现,使用者无需关心配置文件的格式,也无需象过去那样必须从配置文件中将对应的字段一一读出并逐个赋值给实体中对应字段。使用者只需要从基类派生一个实体类,并定义该实体类中的属性字段就可以了。

4、根据配置文件,自动生成实体类的工具

5、支持格式:支持三种通用的配置文件格式,分别是XML,INI和注册表。用户可以参照这三种配置模式,编写自己的特殊格式的模式接口实现。

版本规划

V1.0 实现需求1、2、3。并提供XML,INI两种配置文件格式的模式接口实现

V1.1 提供Registry配置格式的模式接口实现

V1.2 提供前三种模式的实体类自动生成工具

设计思路

如上图所示整个组件由三部分组成:

Configuration 类是所有配置文件实体类的基类。所有实体类都是这个基类的派生类。

IConfigurationPattern 是配置模式的接口

第三部分是配置模式接口的实现类,目前有两种配置模式 XmlPattern 和 IniPattern。

时间: 2024-11-03 06:01:43

一个用C#编写的自动读写配置文件的开源组件的相关文章

请教一下。 我用vb编写了一个 数据库+发帖功能(自动填写表单) 。

问题描述 请教一下.我用vb编写了一个数据库+发帖功能(自动填写表单).但是,要发帖就得用电脑,真麻烦.现在像用android的手机(g7)发帖.我自己的资源.1,正在看java的教材.继承,接口,io,容器这些都看得7788啦.自学能力还行吧.2,然后希望把数据库放到网上.(用java的jsp?还是用去学学php呢?3,然后如果用手机发帖是登陆我的网站?如果是你,有什么好的思路呢?请问.

C读写配置文件

        在项目开发中,经常需要读取应用配置文件的初始化参数,用于应用在启动前进行一些初始化配置.比如:Eclipse,参数项包含主题.字体大小.颜色.Jdk安装位置.自动提示等.Eclispe配置的文件格式是以键值对的方式存储的,即:key=value的形式,下面是Eclipse部份设置参数: /instance/org.eclipse.jdt.ui/useQuickDiffPrefPage=true /instance/org.eclipse.jdt.ui/content_assist

.Net2.0 使用ConfigurationManager读写配置文件

.net1.1中如果需要灵活的操作和读写配置文件并不是十分方便,一般都会在项目中封装一个配置文件管理类来进行读写操作.而在.net2.0中使用ConfigurationManager 和WebConfigurationManager 类可以很好的管理配置文件,ConfigurationManager类在System.Configuration中,WebConfigurationManager在System.Web.Configuration中.根据MSDN的解释,对于 Web 应用程序配置,建议

Python读写配置文件的方法

  本文实例讲述了Python读写配置文件的方法.分享给大家供大家参考.具体分析如下: python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案,以下的文章就是对python 读写配置文件的具体方案的介绍,相信对大家学习Python有所帮助. python 读写配置文件ConfigParser模块是python自带的读取配置文件的模块.通过他可以方便的读取配置文件. 这里就来简单介绍一下python 读写配置文件的方法. 配置文件.顾名思议就是存放配置信息的

源代码-win7下用Java如何编写程序自动修改host文件,

问题描述 win7下用Java如何编写程序自动修改host文件, ,即在程序运行时可输入网址,来屏蔽某些网站,急求源代码,求大神解答 解决方案 这个必须调用其它程序编写的动态库,比如用C++编写一个DLL给JAVA调用,否则JAVA不能修改本地文件 解决方案二: java没法直接操作本地文件系统,需要通过C,然后JAVA通过JNI来调用

C语言编写的bmp读写程序

C语言编写的bmp读写程序 建议先把bmp的数据存储格式了解下  [cpp] view plaincopy   <span style="font-size:16px;">#include "Windows.h"   #include "stdio.h"   #include "string.h"   #include "malloc.h"      unsigned char *pBmpBuf

cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中(转)

基本概念:cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中. 以博客园为例,我们看看cookie有哪些属性: 1.Name:cookie的名称: 2.Value:cookie名称对应的值: 3.Domain:设置cookie作用域.默认是当前web服务器的主机名.设置该属性可使大型网站子域之间共享cookie,不过只能设置为当前服务器的域. 举个栗子:order.example.com域下的服务器想读取catalog/example.com域下设置

iis服务-对c#编写的web.config配置文件进行修改,需不需要重启IIS服务,急求答案

问题描述 对c#编写的web.config配置文件进行修改,需不需要重启IIS服务,急求答案 对c#编写的web.config配置文件进行修改,需不需要重启IIS服务,急求答案 解决方案 不需要,iis会自动检测到有修改 解决方案二: 不需要,iis会自动检测到有修改 解决方案三: 不需要重启IIS服务. 但是会话时有缓存的,测试需要把浏览器整体关闭再打开,新开会话时才会读取新的配置. 解决方案四: 不需要,如果每次修改都要重启,那岂不是很麻烦.

Java与XML(二)用java编写xml的读写程序

xml|程序 Java与XML(二)用java编写xml的读写程序 这是读取xml文件的java程序,我调试好的.采用的是dom方式读取xml文件到Vector中.package src;import java.io.*;import java.util.Vector;import javax.xml.parsers.*;import org.w3c.dom.*;public class readxml { static Document document; private boolean va