2013-10-24 2 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. Я создал Resx файл в VS, и я вижу формат XML одного и того же: <имя данных = «STATUS_0» XML: пространство = «сохранить»> «Ошибка: требуются действия пользователя Расширьте ряд деталей» adelphia

+1

Думаю, вам может понадобиться определить эти значения по-разному. Я не думаю, что редактирование кода в файле resx - хорошая идея. –

Смежные вопросы

 Смежные вопросы