powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / enum
7 сообщений из 7, страница 1 из 1
enum
    #39707806
NewIvanovec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть перечисления:
Код: c#
1.
2.
3.
4.
5.
6.
enum Lang
    {
        RU,
        UA,
        KZ
    }



в коде нужно преобразовывать к string
Код: c#
1.
SystemAlias = Lang.RU.ToString();



можно ли как-то сразу указать, что эти константы типа string, чтобы избежать постоянных преобразований
...
Рейтинг: 0 / 0
enum
    #39707913
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, константы в коде должны инициализироваться значением, определяемым на этапе компиляции - на то они и константы - а ToString выполняется на рантайме.
Можно вместо константы использовать, например, static get-only property:
Код: c#
1.
public static string SystemAlias { get; } = Lang.RU.ToString();
...
Рейтинг: 0 / 0
enum
    #39707927
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
константы с модификатором Public лучше вообще не использовать, а то будет мучительно больно, в 1 момент
...
Рейтинг: 0 / 0
enum
    #39707950
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewIvanovec,
Обрисуйте задачу. Может и варианты решения расширятся.
Зачем enum в string?
...
Рейтинг: 0 / 0
enum
    #39708139
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
SystemAlias = nameof(Lang.RU)
...
Рейтинг: 0 / 0
enum
    #39708151
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewIvanovecможно ли как-то сразу указать, что эти константы типа string, чтобы избежать постоянных преобразований

Можно.

Код: c#
1.
2.
3.
4.
5.
6.
public static class Lang
{
   public const string RU = "RU";
   public const string UA = "UA";
   public const string KZ = "KZ";
}



Но чем преобразования не нравятся? Это позволяет делать многие вещи: локализацию, замену, расширение и т.д.

Лучше всего в этом отношении работает атрибут DisplayAttribute, так как поддерживается на многих уровнях, поддерживает локализацию в ресурсах и т.п.
...
Рейтинг: 0 / 0
enum
    #39710867
NewIvanovec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за помощь!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / enum
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]