C Attribute 特性 入門

2021-09-03 02:15:11 字數 1225 閱讀 1810

特性(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類,並在其...