2013-10-24 78 views
7

我想從resx文件中提取一個枚舉的描述,但是出現上述錯誤。屬性參數必須是一個常量表達式,屬性參數類型的表達式或數組創建表達式t enum描述

這裏是我的代碼:

public enum FinalStatus 
{ 
    [Description(StringResources.MyStrings.Status_0)] 
    Error = 0, 
    [Description(StringResources.MyStrings.Status_1)] 
    Ok = 1, 
    [Description(StringResources.MyStrings.Status_5)] 
    Warning = 2, 
    [Description(StringResources.MyStrings.Status_4)] 
    Unknown = 3 
} 

回答

7

的錯誤是正確的;這些值需要是常數。你需要改變你的Status_n定義,以更多的東西是這樣的:

namespace StringResources{ 
    public class MyStrings{ 
     public const string Status_0 = "0"; 
     public const string Status_1 = "1"; 
     public const string Status_4 = "4"; 
     public const string Status_5 = "5"; 
    } 
} 
+0

感謝亞當。但是我找不到名字空間StringResources。我創建在VS一個RESX文件,我看到相同的XML格式: <數據名稱=「STATUS_0」 XML:空間=「保留」> 「錯誤:需要用戶操作展開行細部」 adelphia

+1

我想你可能需要以不同的方式定義這些值。我不認爲編輯resx文件中的代碼是一個好主意。 –

相關問題