程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#中的Attribute屬性

C#中的Attribute屬性

編輯:C#基礎知識
在C#中,attribute是作為一種程序源代碼的元素修飾符存在的,因為有的時候我們需要給自己的代碼添加一些描述性的說明信息。當這些我們不願意用注釋或內部代碼用來描述的信息,被作為attribute代碼而編譯的話,編譯器會將它們生成到metadata中去。

同時,attribute也是一種object。

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method |
AttributeTargets.ReturnValue | AttributeTargets.Property, AllowMultiple = true, Inherited = true)]
public class CountryAttribute : Attribute
{

public CountryAttribute(){}

public CountryAttribute(string name)
{
this.Name = name;
}

public int PlayerCount { get; set; }
public string Name { get; set; }
}

[Country("China")]
[Country("America")]
public class Sportsman
{
public string Name { get; set; }

[Country(PlayerCount = 5)]
public virtual void Play(){}
}

public class Hoopster : Sportsman
{
public override void Play(){}
}


使用attribute有很顯著的方便。他是一種會被編譯的程序,但卻能像注釋一樣使用。比起使用注釋,attribute可以在執行結果中標識函數、返回值等結果,實現一些更加復雜的標識功能。但是,根據一些資料attribute本身並不是修飾符,而是一種類,被實例化的類,通過反編譯可以看到這一點。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved