zoukankan      html  css  js  c++  java
  • ASP.NET3.5——自动属性(AutoImplemented Properties)

    /// <summary>
    /// AutomaticProperties(自动属性)的摘要说明
    /// </summary>
    public class AutomaticProperties
    {
        public int ID { get; set; }
    
        // 上面的ID属性(自动属性)等同于下面的ID属性
    
        // private int _id;
        // public int ID
        // {
        //     get { return _id; }
        //     set { _id = value; }
        // }
    }
    

    自动属性可以避免原来这样我们手工声明一个私有成员变量以及编写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。我们可以使用.NET开发环境所提供的ildasm.exe(IL代码反汇编器)工具来分析程序集或者模块的内容。

  • 相关阅读:
    Redis之数据持久化RDB与AOF
    linux命令
    路由选择协议
    三次握手+滑动窗口
    JSP的文件上传
    JSP的会话(Session)跟踪
    JSP的Cookie处理
    JSP的过滤器
    JSP的表单处理
    JSP中HTTP状态码
  • 原文地址:https://www.cnblogs.com/iceicebaby/p/1945626.html
Copyright © 2011-2022 走看看