属性命名采用Pascal命名方式,每个单词的首字母大写。访问方式与访问类的公共字段类似。

        /// <summary>
        /// 字段
        /// </summary>
        private int age;

        /// <summary>
        /// 属性
        /// </summary>
        public int Age
        {
            //get访问器不带任何参数,且必须返回属性声明的类型
            get
            {
                return age;
            }

            //set访问器不显示指定任何参数,但编译器假定其带一个参数,类型与属性相同,并表示为value
            set
            {
                age = value;
            }
        }

  1.只读/只写属性

     在属性定义中省略set访问器,可以创建只读属性;省略get访问器,可以创建只写属性。

  2.属性的访问修饰符

     C#允许给属性的get和set访问器设置不同的访问修饰符。在get和set访问器中,必须有一个具备属性的访问级别。若set访问器有一个私有访问修饰符,而get访问器没有任何访问修饰符,则表示get访问器具有属性的访问级别。

        /// <summary>
        /// 字段
        /// </summary>
        private int age;

        /// <summary>
        /// 属性
        /// </summary>
        public int Age
        {
            //get访问器不带任何参数,且必须返回属性声明的类型
            get
            {
                return age;
            }

            //set访问器不显示指定任何参数,但编译器假定其带一个参数,类型与属性相同,并表示为value
            private set
            {
                age = value;
            }
        }

  3.自动属性

     自动属性两个访问器必须同时存在,访问器的访问级别可以不同

        public string Name { get; set; }

        public string Sex { get; private set; } 

 

       参考书籍:《C#高级编程(第9版)》

posted on 2018-02-01 14:00  雪溪  阅读(317)  评论(0编辑  收藏  举报