zoukankan      html  css  js  c++  java
  • .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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    [匈牙利算法] 洛谷 P1640 连续攻击
    [dfs] Jzoj P5916 flow
    [bfs] Jzoj P3522 迷宫花园
    [二分][状压dp] Jzoj P3521 道路覆盖
    [模拟] Jzoj P3520 原根
    [并查集] Jzoj P5914 盟主的忧虑
    [树上差分][子树求和][树形dp] Jzoj P5911 Travel
    [思维][暴力] Jzoj P5912 VanUSee
    [dfs][离散化] Jzoj P5910 DuLiu
    [cdq分治][树的重心] 洛谷 P3806 点分治1
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1063912.html
Copyright © 2011-2022 走看看