Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - перечисляемые строки

Ответить
Настройки темы
.NET - перечисляемые строки

Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


Хочу сделать тип данных перечисление, содержащий сообщения об ошибках в программе, чтобы, например, в MessageBox'е не писать целиком каждый раз текст, а делать обращение вида "ErrorCodes.NoAuthFile", вместо которого уже подставлялся бы текст. Но беда в том, что тип Enum поддерживает только числовые значения элементов перечисления. Как сделать то же самое, но со строками?

Отправлено: 20:07, 04-10-2009

 

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Surround, Может быть создать символьный массив указателей, где каждому указателю будет присвоена строка текста. А дальше использовать оператор switch, вроде в C# есть такой оператор? А какой язык программирования? И если допустим, код ошибки вернуть, return 4, то через сравнение case вернуть текст соответствующий 4 индексу массива, ErrorText[4]. Вариант?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 21:49, 04-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Вместо switch можно использовать тоже перечисление в качества номера элемента в массиве строк.
Код: Выделить весь код
enum Errors {NoAuthFile, NoFile, FileCorrupted};
//...
string[] ErrorText = {"No Auth File", "No File", "File is corrupted" };
//...
MessageBox.Show(ErrorText[(int)Errors.NoAuthFile]);
MessageBox.Show(ErrorText[(int)Errors.NoFile]);
MessageBox.Show(ErrorText[(int)Errors.FileCorrupted]);
Drongo, указатели в С# используют в крайних случаях (manage(управляемая) политика .NET Framework), в конструкциях unsafe. Их применение даёт возможность повысить быстродействие программы.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:24, 05-10-2009 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


а список строковых констант в пространство имён можно в C# запихнуть? типа того:
Код: Выделить весь код
// допустим, что это синтаксически правильная конструкция на С#
class Errors
{
   string
    NoAuthCode = "No Auth Code",
    NoFile = "No File",
    FileCorrupted = "File Corrupted"
   ...;
};

MessageBox.Show(Errors.NoAuthCode);

Отправлено: 19:57, 05-10-2009 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - перечисляемые строки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Трей в 2 строки .ExeRun Microsoft Windows 7 2 31-12-2010 01:22
MySQL - Автозамена строки из другой строки - trigger? procedure ? BugZZ Программирование и базы данных 0 18-09-2009 09:51
строки в С++ rodman Программирование и базы данных 7 02-07-2004 12:54
Строки в С\С++ netmax Программирование и базы данных 30 03-11-2003 18:57




 
Переход