• .Net3.0中的自动属性(示例)


    using System;

    namespace LinqDemo
    {

        
    class Program
        
    {
            
    static void Main(string[] args)
            
    {
                
    //传统用法示例
                Employee Emp = new Employee("Jimmy.Yang"25);
                Console.WriteLine(Emp.ToString());

                Console.WriteLine(
    "-------------------");

                
    //自动属性的写法
                NewEmployee NewEmp = new NewEmployee { Name = "Tom", Age = 30 };//感觉与Javascript中对象的JSON字符串表示法相似
                Console.WriteLine(NewEmp.ToString());

                Console.ReadLine();
            }
           
        }



        
    /// <summary>
        
    /// 传统方式定义一个类
        
    /// </summary>

        public class Employee
        
    {
            
    private string _name = "Anonymous";
            
    private int _age = 0;

            
    public string Name 
            
    {
                
    get return this._name; }
                
    set this._name = value; }
            }


            
    public int Age 
            
    {
                
    get return this._age; }
                
    set this._age = value; }
            }


            
    public Employee() { }

            
    public Employee(string pName, int pAge) 
            
    {
                
    this._name = pName;
                
    this._age = pAge;
            }


            
    public override string ToString()
            
    {
                
    return "Name:" + this._name + " Age:" + this._age;
            }

        }



        
    /// <summary>
        
    /// .Net3.0自动属性的新写法
        
    /// </summary>

        public class NewEmployee
        
    {
            
    public string Name{getset;}
            
    public int Age getset; }
            
    public override string ToString()
            
    {
                
    return "Name:" + this.Name + " Age:" + this.Age;
            }

        }

    }

    可以看出,.Net3.0的自动属性,可以使定义一个类的代码大大减化,个人感觉:这一点好象又是从Javascript中的JSON字符串表示法“偷”来的^_^,不信的话,可以参看以下Javascript代码:

    <script type="text/javascript">
    var Emp = {Name:"Jimmy.Yang",Age:30};

    function ShowEmp(E)
    {
        
    return "Name:" + E.Name + " Age:" + E.Age;
    }


    document.write(ShowEmp(Emp));

    </script>

    顺便发表一下个人感慨:微软确实很善于吸引他人长处
    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Failed to start mysqld.service: Unit not found
    Nginx转发前后端分离跨域引发的问题-转发请求header头中含有下划线,无法转发取值
    云上Centos7新硬盘挂载流程
    马哥教育第二阶段考试
    Linux集群准备-同步
    Lucene查询语法
    权限系统设计
    docker compose thinkphp5.1 lnmp环境搭建加项目部署全过程
    docker compose 的使用
    [转载]PHP-FPM
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1063912.html
Copyright © 2020-2023  润新知