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

时间:2022-04-23
本文章向大家介绍.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{get; set;}

        public int Age { get; set; }

        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>

顺便发表一下个人感慨:微软确实很善于吸引他人长处