zoukankan      html  css  js  c++  java
  • 关于DefaultValueAttribute类的一些误解!

    这个DefaultValueAttributte特性时常令大家比较疑惑,特别是看了MSDN文档中关于这个类的说明,大家可能就更加的疑惑了,文档中关于DefaultValueAttribute特性的说明如下:

     指定属性 (Property) 的默认值。

    所以大家可能都以为通过应用这个特性就会设置属性的默认值,于是大家可能编写了类似的代码:

        public class Child
        {
            private int i=0;
            [DefaultValue(100)]
            public int I
            {
                get
                {
                    return i;
                }
                set
                {
                    i = value;
                }
            }
        }

            static void Main(string[] args)
            {
                Child c = new Child();
                Console.WriteLine(c.I.ToString());     //大家可能会认为指定了这个I属性的默认值为100,这里就会输出100,实//际上这里输出的是0   
            }

     实际上这个特性根本就没有初始化属性的值,这个属性只是用来指定属性的默认值,供反射或设计器等获取数据的,所以这个特性应该总是设置成等于其应用到的属性的初始值,这段代码应该设置成0

    具体可以参考微软的说明:

    http://support.microsoft.com/default.aspx/kb/311339/zh-cn

  • 相关阅读:
    实现个人域名跳转指定网站
    Latex数学符号表
    Python—Matplotlib基础学习
    Python—Pandas基础学习
    Python—Numpy基础学习
    程序员必读的计算机书籍(附资源分享)
    嗷嗷
    CTF之misc
    网安基础思维导图
    NAT、动态路由及实验
  • 原文地址:https://www.cnblogs.com/xuefeng1982/p/1506937.html
Copyright © 2011-2022 走看看