2013-10-24 11 views
7

Resx dosyasından alınmış bir enum'un Açıklaması'na sahip olmaya çalışıyorum, ancak yukarıdaki hatayı alıyorum. İşte Bir öznitelik argümanı, bir öznitelik parametre türü t enum bir sabit ifade, bir tür ifadesi veya dizi oluşturma ifadesi olmalıdır Açıklama

benim kodudur:

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 
} 

cevap

7

hata doğrudur; bu değerlerin sabit olması gerekir. Bunun gibi bir şeyle Status_n tanımlarınızı değiştirmeniz gerekecek:

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

Teşekkürler Adam. Ancak StringResources ad alanını bulamıyorum. VS bir resx dosyası oluşturulur ve ben aynı xml biçimi bakın: : "Hata:. Kullanıcı işlemi gerekli detaylar için satırı genişlet" adelphia

+1

Bu değerleri farklı şekilde tanımlamanız gerekebilir. Resx dosyasındaki kodu düzeltmenin iyi bir fikir olduğunu sanmıyorum. –

İlgili konular