VS中配置文件的理解

<configuration>
  <configSections>
    <section name="test" type="configsections_exampletwo.section_two,configsections_exampletwo"/>
  </configSections>
  <test>
    <UserTwo UserName="luseum" PassWord="134679" ></UserTwo>
  </test>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>
</configuration>

internal class section_two : ConfigurationSection {
        internal class element_one : ConfigurationElement {
            [ConfigurationProperty("UserName")]
            public string username {
                get {
                    return (string)this["UserName"];
                }
                set {
                    this["UserName"] = value;
                }
            }

            [ConfigurationProperty("PassWord")]
            public string password {
                get {
                    return (string)this["PassWord"];
                }
                //set {
                //    this["PassWord"] = value;
                //}
            }
        }

        [ConfigurationProperty("UserTwo")]
        public element_one usertwo {
            get {
                return (element_one)this["UserTwo"];
            }
            //set {
            //    this["UserTwo"] = value;
            //}
        }
    }

1.配置文件:.config

2.本质:XML语言文件

3.从自定义配置文件可以理解:

    a.配置文件本身  configuration 查看其定义,实际是一个 元素,它不是XAML语言中的类,更不是Partial 类。

    .b.该配置文件实际只是configuration这个元素的文件,实际隐藏了很多其他的程序,比如用来定义configuration这个元素的程序。config实际包含许多其他的东西。

    b.元素及部件,可以作为标签。----这点很重要,解释什么时候用tag(标签),什么时候用属性。

    c.自定义部件,实际建立对象---并把对象加入 整个配置文件的对象里面成为一个部件-----对象的类必须继承 configuration.ConfigurationSection--表示一个部件

4.配置文件实际两部分组成,一部分:C# ,一部分 config文件。(猜测)

    a.编译解析器,解析config文件时,通过反射及特性,解析文件,将解析出来的文件的定义及值,写入C#语言定义(可能,猜测)的对象中,(对象中实际存在dictonary及索引器)

   b.自定义部件,属性或则部件时,可以省略 set{},实际存在隐藏(语法糖),编译器会自动添加set{},来使得config文件解析时,写入值。  但是实际c#程序(后面)可能就只能读取值了。

5.config文件与 WPFXAML还是有很大区别的。config应该不存在partial,都是直接添加到对象的dictonary中,   而WPFXAML存在Partial都是直接在类中创建对象,直接更改类本身。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值