自定義列舉特性

2022-03-10 15:15:14 字數 1010 閱讀 3065

新增乙個列舉擴充套件類

///

/// 列舉擴充套件特性

///

[attributeusage(attributetargets.field | attributetargets.enum)]

public class apienum : attribute

set

}public string message

set

}///

/// 列舉特性

///

/// 訊息碼

/// 列舉訊息描述

public apienum(string code,string msg)

///

/// 獲取列舉訊息碼

///

///

///

public static string getcode(enum obj)

///

/// 獲取列舉訊息描述

///

///

///

public static string getmessage(enum obj)

private static object getfieldinfo(enum obj)

在列舉中這麼使用:

///

///api響應報文列舉

///public

enum

apirespcode")]

f400000,

[apienum(

"999999

","system error.")]

e999999

}

當然,列舉code和message使用英文和中文描述,使用者體驗會更好。

獲取列舉code或者message的用法:

public apiexception(apirespcode apirespcode) : base(apienum.getmessage(apirespcode))

自定義列舉

在效能優化中,列舉的每乙個都是乙個例項,比較耗記憶體,採用自定義註解能很好的解決這個問題 public class shape 表示表示需要在什麼級別儲存該注釋資訊,用於描述註解的生命週期 retention retentionpolicy.runtime public inte ce model ...

自定義特性

1.指定attributeusage特性 特性 attribute 類本身用乙個特性 system.attributeusage特性來標記。attributeusage主要用於標識自定義特性可以應用到哪些型別的程式元素上。這些資訊由它的第一引數給出,改引數是必選的,其型別是列舉型別的attribut...

自定義特性。配合列舉使用棒棒噠

1 2 自定義特性,比系統的display增加了一些引數 created by zhangqc 2015.08.19 3 4 attributeusage attributetargets.field attributetargets.property,5 allowmultiple false,i...