我寫一個使用大部分這些枚舉存在於數據庫中的表太多次枚舉業務應用。問題出現在維護時,其中一個團隊成員或後期開發人員在兩個地方之一更改枚舉成員值,使枚舉未被同步。爲了解決這個問題,我試圖創建一個自定義枚舉屬性,當它發現一個枚舉值不同步時拋出一些異常。
實現:
[AttributeUsage(AttributeTargets.Enum)]
public class EnumSyncAtrribute : Attribute
{
public EnumSyncAtrribute(Type databaseAccessType, Type enumType))
{
// Code that uses that databaseAccessType to access the database to get
// enum values then compare it to values of enumType , goes here.
}
}
然後瞄準枚舉標記如下
[EnumSyncAtrribute(typeof(MyDataBaseAccess), typeof(MyEnum))]
public enum MyEnum
{
value1 = 0,
value2 = 1,
value3 = 2
}
問題:
問題是這樣的屬性構造從不執行!我試過用類替換枚舉,發現它執行得很好,但是使用枚舉,不行!
問題是,當自定義屬性用於枚舉時,它們的構造函數何時執行?
的可能重複的[屬性類不調用構造函數(http://stackoverflow.com/questions/2470164/attribute-class-not-calling-constructor) – 2014-08-31 09:31:50
在我發佈帖子之前,我通過這個帖子來了,但不幸的是它無法解決我的問題。 – Sisyphus 2014-08-31 09:35:53
遵循其他答案時不起作用? – 2014-08-31 09:36:43