2014-06-24 46 views
-1

現在:類設計:使用常量訪問兩個鍵作爲屬性?

2個每個具有相同常數的類,例如, ERR123

的Class1得到了public const int ERR123 = 123;

Class2中得到了public const string ERR123 = "Error 123, something went wrong.";

所以我這樣稱呼它

int code = class1.ERR123; 
string message = class2.ERR123; 

,因爲我需要複製的常量名和觸摸2個文件,我不喜歡這種方法當我添加/改變某些東西時。

我想訪問它這樣:

int code = Errors.Subcategory1.ERR123.Code; 
string message = Errors.Subcategory1.ERR123.Message; 

,並聲明不應該是不方便。這可能嗎?也許使用一些反射魔法?

回答

0

爲什麼要讓事情比它需要更復雜?

public class Errors 
{ 
    public static class IntegerErrors { 
      public const string ERR123 = 123; 
     } 

    public static class StringErrors { 
     public const string ERR123 = "Error 123, something went wrong."; 
    } 
} 

... 

int i_value = Errors.IntegerErrors.ERR123; 
string s_value = Errors.StringErrors.ERR123; 
+0

這或多或少是我現在擁有的。 – UNeverNo