1、 property就是访问字段(成员变量,field)提供的一种方式(set/get)
而attribute是都是继承自System.Attribute的一系列class,用来自定义属性
2、前者被翻译为属性,后者是自定义属性
3、前者叫:属性(类成员级的) 后者叫:定制特性(类级)
4、property是指类向外提供的数据区域。而attribute则是描述对象在编译时或运行时属性的
5、一个是service的属性,而另一个是interface的
6、
public class People
{
private string name;
public string Name {
get {
return name;
}
set {
name=value;
}
}
}
如有以下代码:
People p=new People();
p.Name="john";//修改attribute值
Console.WriteLine("Name:"+p.Name);//读取attrubue值
可以推断出这里的attribute是指类中"private string name;"声明的"name";property指:
public string Name {
get {
return name;
}
set {
name=value;
}
}
看起来上面所说的“属性是一个方法或一对方法,在用户看来是一个字段”也可以这样描述:“Property是一个方法或一对方法,在用户看来是一个attribute”。
=======================
一.什么是Attribute
先看下面的三段代码:
1.自定义Attribute类:VersionAttribute
- [AttributeUsage(AttributeTargets.Class)]
- public class VersionAttribute : Attribute
- {