黑马程序员技术交流社区

标题: 关于属性问题? [打印本页]

作者: 邓建军    时间: 2013-4-15 13:46
标题: 关于属性问题?
自动属性与可读可写属性有什么区别?


作者: 高文咪    时间: 2013-4-15 14:32
C#自动属性可以避免原来这样我们手工声明一个私有成员变量以及编写get/set逻辑,在VS2008中可以像下面这样编写一个类,编译器会自动地生成私有变量和默认的get/set 操作。你也可以分别定义get和set的“protected”等访问级别。
在.Net2.0框架下,我们可以这样写一个User类:
public class User
{  
     private int _id;  
     private string _name;  
     private int _age;  
     public int Id  {  
        get { return _id; }  
        set { _id = value; }
     }  
     public string Name  {  
        get { return _name; }
        set { _name = value; }
     }
     public int Age  {  
        get { return _age; }  
        set { _age = value; }
      }
}   
现在,可以这样简化:
public class User
{  
    public int Id { get; set; }  
    public string Name { get; set; }  
    public int Age { get; set; }  
}     
像上面这样的空的get/set属性的话,它会自动为你在类中生成一个私有成员变量,对这个变量实现一个公开的getter 和setter。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2