色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

C#特性Attribute的實際應用之:代碼統(tǒng)計分析

  日常工作中,需要為程序集提供統(tǒng)計分析:

  1:程序集方法數(shù);

  2:開發(fā)人員數(shù)目及各自所開發(fā)或REVIEW的方法數(shù);

  3:測試中,被標注有BUG的數(shù)目;

  4:直接查看方法的IL代碼;

  鑒于以上統(tǒng)計的需要,特開發(fā)本EXE。

  1:關于特性Attribute的知識補充

  "Attribute是一種可由用戶自由定義的修飾符(Modifier),可以用來修飾各種需要被修飾的目標"。它的作用是為它們的修飾目標追加上一些額外的信息——比如"這個類是我寫的"或者"這個函數(shù)以前出過問題"等等。

  它跟注釋的區(qū)別是:注釋是對程序源代碼的一種說明,主要目的是給人看的,在程序被編譯的時候會被編譯器所丟棄,因此,它絲毫不會影響到程序的執(zhí)行。而Attribute是程序代碼的一部分,不但不會被編譯器丟棄,而且還會被編譯器編譯進程序集(Assembly)的元數(shù)據(jù)(Metadata)里,在程序運行的時候,你隨時可以從元數(shù)據(jù)里提取出這些附加信息來決策程序的運行。

  本文所依據(jù)的就是特性這個特點。

  2:基礎模塊XP.AttributeClass

  根據(jù)文章開頭的要求:統(tǒng)計開發(fā)者、reviewer、bug信息,需要創(chuàng)建一個可被客戶端項目引用的類庫項目XP.AttributeClass。該項目包含三個Attribute類:CreaterAttribute、ReviewerAttribute、BugAttribute。分別如下:

代碼
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
public class CreaterAttribute : Attribute
{
public CreaterAttribute(string creater, string createDate)
{
Creater = creater;
CreateDate = createDate;
}
public string Creater { get; private set; }
public string CreateDate { get; private set; }
}

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
public class ReviewerAttribute : Attribute
{
public ReviewerAttribute(string reviewer, string reviewDate)
{
Reviewer = reviewer;
ReviewDate = reviewDate;
}
public string Reviewer { get; private set; }
public string ReviewDate { get; private set; }
}

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class BugAttribute : Attribute
{
public BugAttribute(bool isBug, string bugDate)
{
this.IsBug = isBug;
this.BugDate = bugDate;
}
public bool IsBug { get; private set; }
public string BugDate { get; private set; }
}

NET技術C#特性Attribute的實際應用之:代碼統(tǒng)計分析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 桐城市| 沅陵县| 安西县| 汶上县| 个旧市| 奉贤区| 许昌市| 江源县| 西安市| 宝应县| 新晃| 无棣县| 武隆县| 岚皋县| 金山区| 克什克腾旗| 手游| 专栏| 太仆寺旗| 丘北县| 沁阳市| 耒阳市| 余江县| 营口市| 抚宁县| 祁东县| 仪征市| 甘洛县| 连州市| 门头沟区| 永宁县| 兴安县| 鹤岗市| 禹城市| 道真| 兰坪| 黎城县| 交口县| 昌邑市| 溧水县| 龙陵县|