app.config 配置多项 配置集合 自定义配置
C#程序的配置文件,使用的最多的是appSettings 下的<add key="Interval" value="30"/>,这种配置单项的很方便,但是配置集合就不方便了(当然你可以用逗号分隔,key=key1,key2,key3……但是你还是不知道有多少个集合).现在给出解决方案.
需求:程序超级管理员采用这种设置方式,在app.config中配置的方式,可以配置多个.登陆成功后,读取config,看我是不是超级管理员.
(当然,这个需求是很扯淡的,因为我是为了举例子,编造的,哇哈哈哈)
1.下载ConfigurationSectionDesigner_2.0.1.7.vsix,安装;
2.重新打开VS,新建测试工程WindowsFormsApplication2;
3.在工程上右键,添加新建项,选在ConfigurateSectionDesiger,命名为ConfigurateSectionDesiger1;
4.双击ConfigurateSectionDesiger1,打开他的设计页面,点击"工具箱";
5.拖一个Configuration Section到页面上,命名为UserSection;
6.点击UserSection的Elements,新增Element,命名为Users
7.工具箱拖一个ConfigurationElementCollection到页面,命名为UserCollection;
8.点击UserSection中的User的属性,选择Type 为: UserCollection,此时UserSection和UserCollection出现箭头连接;
9.工具箱,拖动一个Configuration Element,命名为User.为User增加Attributes,ID,Name,Gender,Pwd,并指定每个attributes的type为string,将ID的Is key 设置为true.
10.设置UserCollection的Item Type为User.
11.查看ConfigurationSectionDesigner1.csd下,有个文件ConfigurationSectionDesigner1.csd.config
12.打开ConfigurationSectionDesigner1.csd.config,将configSections和userSection标签中的内容复制到App.config的configuration节点中.
<configSections>
<section name="userSection" type="WindowsFormsApplication2.UserSection, WindowsFormsApplication2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</configSections>
<userSection xmlns="urn:WindowsFormsApplication2">
<!--
This is just a minimal sample configuration file that shows how to declare
the configuration sections. Because an XML Schema Definition (XSD) is generated for each configuration
section, it should be trivial to edit these files because you have
IntelliSense on the XML definition.
-->
</userSection>
13.现在已经配置好了,在app.config中,userSection节点下,敲一下"<",就会出现users的智能提示,在users下敲"<",会出现user的提示,同时user并有iD,Name,Gender,Pwd这些属性
14.读取方法
var section = (UserSection)System.Configuration.ConfigurationManager.GetSection("userSection");
for (int i = 0; i < section.Users.Count; i++)
{
string ID = section.Users[i].ID;
string name = section.Users[i].Name;
string Pwd = section.Users[i].Pwd;
string Gender = section.Users[i].Gender;
}
注意:app.config中的configSections节点必须放在开始.即是放在configuration节点最开始
PS:这个文章只是利用工具插件,自动生成结构,然后靠在app.config里面配置反射,其实工具那段是可以通过编码来实现的.参看下个文章.
app.config 配置多项 配置集合 自定义配置的更多相关文章
- app.config 配置多项 配置集合 自定义配置(2)
上一篇说了利用app.config自定义节点配置,那是利用工具来实现,其实也一全部编码的方式来实现.举一个栗子.Simpson一家有父亲James,母亲Kate,和三个儿女Jim,Aaron和Luka ...
- app.config 配置多项 配置集合 自定义配置(3)
再说说利用app.config配置多个自定义的方法.先看这个例子:美国家庭Simpson的家里有父亲母亲和三个儿女,而中国的老王只有独生子女.结构如下: <?xml version=" ...
- app.config 配置多项 配置集合 自定义配置(4) 自动增加配置项到配置文件的两种方法
一,按照xml文件处理: 配置文件如下图(最后的图片). 自动写入configSections和configSections的实例 1.自动写入configSections Configuration ...
- C# 读取app.config配置文件节点键值,提示"配置系统未能初始化" 错误的解决方案
MSDN里写到, 如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素. 将自己添加的appSettin ...
- C# App.config 自定义 配置节 报错“配置系统未能初始化” 解决方法
App.config,结果运行的时候出现了 "配置系统未能初始化" 的错误.找了半天才发现是下面的原因造成的: "如果配置文件中包含configSections元素,则c ...
- web.config or app.config 中configSections配置节点
以前还真没见过,今天看项目中有在用,简单写了个Demo,这样配置的好处就是可以自定义配置,更加模块化,直接上代码; 1.配置文件 由于我创建的是一个控制台项目,所以配置文件是App.Config:(这 ...
- 【flask】flask项目配置 app.config
[理论] 在很多情况下,你需要设置程序的某些行为,这时你就需要使用配置变量.在Flask中,配置变量就是一些大写形式的Python变量, 你也可以称之为配置参数或配置键.使用统一的配置变量可以避免在程 ...
- .Net Core 自定义配置源从配置中心读取配置
配置,几乎所有的应用程序都离不开它..Net Framework时代我们使用App.config.Web.config,到了.Net Core的时代我们使用appsettings.json,这些我们再 ...
- C# App.config 详解
读语句: String str = ConfigurationManager.AppSettings["DemoKey"]; 写语句: Configuration cfa = ...
随机推荐
- CentOS7 + Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装
一.安装Nginx 1.安装依赖扩展 # yum -y install wget openssl* gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng ...
- ESLint可共享配置发布,团队自定义ESLint规则新鲜出炉
ESLint于2013年6月份推出,至今4个年头,最新版本v4.8.0.它是目前主流的用于Javascript和JSX代码规范检查的利器,很多大公司比如Airbnb和Google均有一套自己的Java ...
- String+ String.Concat String.Format StringBuilder 之间的性能测试
找到一篇国外的代码,专门来测试这个, String+ String.Concat String.Format StringBuilder 前三个在100个左右字符串差不多, String.Concat ...
- jdbc学习笔记
知识概要: 1.JDBC简介 2.JDBC的编码步骤 3.JDBC中常用接口或类详解 4.JDBC中释放资源 5.JDBC进行CRUD 1.JDBC简介 JDBC:Java DataBase Conn ...
- 1、Http概述
1.1 Web客户端和服务器 HTTP 客户端和 HTTP 服务器共同构成了万维网的基本组件,客户端向服务器发送 HTTP 请求, 服务器会在 HTTP 响应中回送所请求的数据. 示意图: 1.2 媒 ...
- VMware Tools安装方法及共享文件夹设置方法
正确安装好VMware Tools后,可以实现主机与虚拟机之间的文件共享, 可以设置共享文件夹,以及在主机与虚拟机之间直接进行复制黏贴的操作. 安装方法: 选择"虚拟机"-> ...
- JavaScript函数之作用域 / 作用链域 / 预解析
关于作用域和作用链域的问题,很多文章讲的都很详细,本文属于摘录自己觉得对自己有价值的部分,留由后用,仅供参考,需要查看详细信息请点击我给出的原文链接查看原文件 做一个有爱的搬运工~~ -------- ...
- 设置vim的默认工作路径同时与自动设当前编辑的文件所在目录为当前工作路径不冲突
问题: 想让vim自动设当前编辑的文件所在目录为当前工作路径不冲突,但是当vim新建文件的时候,工作路径会又自动切换缓存path下. 如何使当使用vim打开文件时,vim的工作路径是当前文件所在的路径 ...
- UVa12563- Jin Ge Jin Qu hao
思路一定要清晰! /* * Author: Bingo * Created Time: 2014/12/25 3:45:35 * File Name: uva12563.cpp */ #include ...
- 前端(各种demo):右侧导航栏的折叠和打开(不使用js)基础版和升级版
1.给div设置定位. 复习一下—— css中position有五种属性: static:默认值,没有定位 absolute:绝对定位,相对于父级元素进行定位 relative:相对定位 fixed: ...