特性(attribute)是用來 向程式新增宣告性資訊。乙個宣告性標籤是通過放置在它所應用的元素前面的方括號([ ])來描述的。
特性(attribute)用於新增元資料,如編譯器指令和注釋、描述、方法、類等其他資訊。所以要獲取某個類的特性,需要通過反射實現。舉個簡單的例子:
1、自定義乙個 checkcodeattribute
[attributeusage(attributetargets.class, allowmultiple = false, inherited = true)]
public class checkcodeattribute : system.attribute
public string username = "";
public string checktime = "";
public int score = 0;
public checkcodeattribute(string name,string time,int score)
username = name;
checktime = time;
score = score;
public double getscore()
return score * 0.8;
}2、將上面的自定義attribute應用於 乙個類上
[checkcode("張偉", "2017-03-22",99)]
public class dowork
public string getdata()
return datetime.now.tostring("yyyy-mm-dd");
3、通過反射 來獲取 dowork 類相關的 attribute 資訊
static void main(string args)
system.reflection.memberinfo info = typeof(dowork);
checkcodeattribute att = (checkcodeattribute)attribute.getcustomattribute(info, typeof(checkcodeattribute));
double score = att.getscore();
system.console.writeline(att.username + " 於 " + att.checktime + " 檢查了**,得分:" + score); console.readkey();
C attribute特性例項
public class attributeinstance 根據usize屬性height,width對應的特性名稱獲取lsize的屬性值,賦值給usize屬性 usize usize lsize.tocustomentity 列印出結果 system.diagnostics.debug.writ...
C Attribute呼叫檢查
文章摘抄自僅作分享學習只用。通常檢查乙個目標元素是否被應用了某個attribute時,可以呼叫 1.system.attribute.isdefined 2.getcustomattributes 3.getcustomattribute 通常呼叫system.attribute.isdefined...
C Attribute屬性標籤Demo
對於這個方括號始終很好奇這是乙個何方妖物,查了一下msdn頓悟,特此寫一些 記錄一下 首先attribute是乙個類,該類必須繼承自 attribute並且命名規則也要用 attribute做字尾,下面我來寫幾行 1 新建乙個類developerattribute 2 新建userinfo類,並在其...