25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

C#概念之Property和Attribute两者区别


时间:2012/11/28   来源:cms
 为了区分Property和Attribute这两者的概念,查询了很多资料,同时网上对两者的解释表达有些差异,但意思都相同。网上有很多解答:Property是service的属性,Attribute是interface的;property是指类向外提供的数据区域,attribute则是描述对象在编译时或运行时属性的;Property应该叫属性,而Attribute则称为特性等等解释,但是依据我个人来说,对我最直接也最容易理解记住的解释是:Property是属性,用于存取类的字段,Attribute是特性,用来标识类,方法等的附加性质。
 
为了能够更细致的区别Property和Attribute,我们用实例代码来描述。
 
Attribute代码:
1,先自定义Attribute类:MusicAttribute
[AttributeUsage(AttributeTargets.Class)]
public class MusicAttribute : Attribute
{
    public string MusicName { get; set; }  
    public string MusicDate { get; set; }  
    public string MusicDescribtion { get; set; } 
}
2,使用自定义的Attribute的Class
[Version(MusicName="my heart will go on",MusicDate="1998年02月10日",Describtion="my heart will go on's class")]
public class MusicCode
{
  //...
}
3,使用Class中的Attribute
class Pro
{
static void main(string[] args)
{
var way=typeof(MusicCode);
var classAttribute=(MusicAttribute)Attribute.GetCustomAttribute(way,typeof(MusicAttribute));
Console.WriteLine(classAttribute.MusicName);  
Console.WriteLine(classAttribute.MusicDate);  
Console.WriteLine(classAttribute.MusicDescribtion);  
}
}
 
 
Property代码:
public class cMusic
{
private string M_Music;
pulibc string  Prop
{
get
{
return M_Music;
}
set
{
name=M_Music;
}
}
}
 
 
从以上实例代码就可以很容易的理解为什么说Property是属性,用于存取类的字段,Attribute是特性,用来标识类,方法等的附加性质这样解释更直接容易理解了。
除非注明,文章均为25亿CMS原创,转载请以链接形式注明出处,谢谢。
点击次数:       打印此页  关闭