<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      App.Config文件復(fù)雜對象自動映射

      Nerdle.AutoConfig 是什么

      .Net Framework 使用 app.config XML文件作為默認(rèn)的配置文件, visual studio也提供很方便的配置管理功能, 甚至可以自動將配置項映射到 Settings 類, 但這僅限于簡單的數(shù)據(jù)類型, 比如 string/int 等. 對于復(fù)雜類型, 需要我們自己寫映射代碼才行.

      Nerdle.AutoConfig 實(shí)現(xiàn)了通用的復(fù)雜類型配置映射功能, 擴(kuò)展性很好, 能適應(yīng)不同配置需求.

      使用步驟

      1. 在代碼中定義配置類接口, 注意是 interface.
      2. 在程序初始化時, 完成XML文件和配置類接口的綁定.
      3. 在app.config XML文件 增加一個
        , 明確后續(xù)自定義配置項名稱和Nerdle AutoConfig處理類.
      4. 在app.config XML文件中增加自定義的配置.

      注意事項

      1. 接口成員變量首字母可以大寫也可以小寫, 但 Xml 中的 tag 和 attribute 必須是小寫, 否則無法完成映射
      2. 接口成員變量默認(rèn)都需要在Xml中設(shè)置, 如果xml不設(shè)置, 成員變量需要增加 [DefaultValue] 特性
      3. 類中可定義 IEnumerable<> 類型成員, xml 中需要有子tag集合對應(yīng).
      4. 類中可定義 IDictionary<> 類型成員, xml 中需要有子tag集合對應(yīng), 每個 XML 子 tag 必須提供 key 和 value attribute4

      代碼示例

      1. app.config 文件
      <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
      	<configSections>
      		<!-- 在app.config XML文件 <configSections> 增加 <section>, 明確后續(xù)自定義配置項名稱和Nerdle AutoConfig處理類.  -->
      		<section name="turboConfiguration" type="Nerdle.AutoConfig.Section, Nerdle.AutoConfig" />
      	</configSections>
      	<startup>
      		<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
      	</startup>
      
      	<!-- 在app.config XML文件中增加自定義的配置.  -->
      	<turboConfiguration>
      		<defaultProfileName>dev</defaultProfileName>
      		<nameMapping>
      			<anyTag key="1" value="A" />
      			<anyTag key="2" value="B" />
      		</nameMapping>
      
      		<turboProfiles>
      			<turboProfile>
      				<profileName>dev</profileName>
      				<webPort>8080</webPort>
      			</turboProfile>
      			<turboProfile>
      				<profileName>production</profileName>
      				<webPort>80</webPort>
      			</turboProfile>
      		</turboProfiles>
      	</turboConfiguration>
      </configuration>
      
      1. 配置接口定義
          /// <summary>
          ///在代碼中定義配置類接口, 注意是 interface.  
          /// </summary>
          public interface ITurboConfiguration
          {
              IEnumerable<ITurboProfile> TurboProfiles { get; }
              string defaultProfileName { get; }
      
              [DefaultValue("no input")]
              string details { get; }
      
              IDictionary<string, string> nameMapping { get; }
          }
      
      
          /// <summary>
          /// 在代碼中定義配置類接口, 注意是 interface.  
          /// </summary>
          public interface ITurboProfile
          {
              string ProfileName { get; }
              int webPort { get; }
          }
      
      1. XML文件和配置接口的綁定代碼
      
              /// <summary>
              /// 在程序初始化時, 完成XML文件和配置類接口的綁定. 
              /// </summary>
              private void loadXmlConfig()
              {
                  ITurboConfiguration xmlConfig = Nerdle.AutoConfig.AutoConfig.Map<ITurboConfiguration>();
              }
      
      
      posted @ 2023-12-24 19:30  harrychinese  閱讀(78)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品十八禁一区二区| 久久精品免视看国产成人| 国产精品久久露脸蜜臀| 亚洲色偷偷色噜噜狠狠99| 国産精品久久久久久久| 免费国产一区二区不卡| 在线观看国产午夜福利片| 狠狠综合久久av一区二| 国产精品女生自拍第一区| 精品国产AV最大网站| 绥棱县| 日日碰狠狠添天天爽五月婷| 蜜臀av久久国产午夜福利软件| 国产成人亚洲精品狼色在线| 婷婷成人丁香五月综合激情| 大乳丰满人妻中文字幕日本| 超碰成人人人做人人爽| 91蜜臀国产自产在线观看| 国产亚洲精品aaaa片app| 风韵丰满熟妇啪啪区老熟熟女| 天天摸夜夜摸夜夜狠狠添| 亚洲欧美偷国产日韩| 野外做受三级视频| 亚洲国产超清无码专区| 国产精品中文一区二区| 成人精品久久一区二区三区| 亚洲欧美在线观看品| 亚洲av免费成人精品区| 里番全彩爆乳女教师| 免费人成在线观看网站| 亚洲国产区男人本色vr| 亚洲国产成人精品综合色| 99在线精品免费视频九九视| 最新亚洲人成网站在线影院| 色综合网天天综合色中文| 亚洲色最新高清AV网站| 正在播放酒店约少妇高潮| 四虎永久在线精品8848a| 亚洲国产永久精品成人麻豆| 国产av剧情md精品麻豆| 国内精品视频区在线2021|