C#中 property 与 attribute的区别

说的通俗些Attribute是类,不过是一类比较特殊的类,Attribute必须写在一对方括号中,用来处理.NET中多种问题:序列化、程序的安全特征等等,在.NET中的作用非同凡响

Attribute的目的是为元素提供关联附加信息。

1.自定义Attribute类:VersionAttribute

    [AttributeUsage(AttributeTargets.Class)]
    public class VersionAttribute : Attribute
    {
        public string Name { get; set; }
        public string Date { get; set; }
        public string Describtion { get; set; }
    }

2.使用自定义Attribute的Class:

    [Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")]
    public class MyCode
    {
        //...
    }

    Property可以说是一个面向对象的概念,提供了对私有字段的访问封装,在C#中以get和set访问器方法实现对可读可写属性的操作,提供了安全和灵活的数据访问封装。比如:

    public class Robot
    {
        private string name = "";   //字段:Field
        public string Name          //属性:Property,对Field进行封装。
          {
            get { return name; }
            set { name = value; }
        }
    }
posted @ 2019-04-01 15:10  mc宇少  阅读(1131)  评论(0编辑  收藏  举报