none
Строковые константы. RRS feed

  • Вопрос

  • Иногда в коде необходимы строковые константы, например для стандартных сообщений пользователю. Но как их оформить? Просто их иногда трудно внятно "обозвать". Поделитесь советами, кто как делает.
    28 ноября 2010 г. 9:54

Ответы

  • Для таких задач я думаю лучше исползовать Resources.resx в вкалдке Solution Explorer (удобный интерфейс для создание ресурса).

    Или создай static class открытымы членамы. Например:

    internal static class ErrorMessage
    {
       public static readonly string IOErros_msg="Ошибка ввода-ввывода";
     	.
    	.
    	.
    }
    
    internal static class NotificationMessage
    {
       public static const string FileChanged="Изменение файла";
     	.
    	.
    	.
    }
    
    

    В далнейшем исползуй так

    try
    {
      if (/* condition */)
      {
         Exception ex=new Exception(ErrorMessage.IOError_msg);
         throw ex;
      }
    }
    
    catch(Exception ex)
    {
      MessageBox.Show(ex.Message);
    }

    Этот метод хорошо помогает при разделении сообщений на типы.

    Название констант ты сам должен придумать.

    • Помечено в качестве ответа Abolmasov Dmitry 29 ноября 2010 г. 6:21
    28 ноября 2010 г. 14:42
  • Ну что касается именований, то лучше делать строки аналогичные их содержанию, например const string wrongPassword = "Wrong Password";

    А дальше - либо в отдельный класс для констант, либо в Resx (что по сути дела то же самое)


    - Dmitri Nesteruk
    • Помечено в качестве ответа Abolmasov Dmitry 29 ноября 2010 г. 6:21
    28 ноября 2010 г. 18:35

Все ответы

  • Для таких задач я думаю лучше исползовать Resources.resx в вкалдке Solution Explorer (удобный интерфейс для создание ресурса).

    Или создай static class открытымы членамы. Например:

    internal static class ErrorMessage
    {
       public static readonly string IOErros_msg="Ошибка ввода-ввывода";
     	.
    	.
    	.
    }
    
    internal static class NotificationMessage
    {
       public static const string FileChanged="Изменение файла";
     	.
    	.
    	.
    }
    
    

    В далнейшем исползуй так

    try
    {
      if (/* condition */)
      {
         Exception ex=new Exception(ErrorMessage.IOError_msg);
         throw ex;
      }
    }
    
    catch(Exception ex)
    {
      MessageBox.Show(ex.Message);
    }

    Этот метод хорошо помогает при разделении сообщений на типы.

    Название констант ты сам должен придумать.

    • Помечено в качестве ответа Abolmasov Dmitry 29 ноября 2010 г. 6:21
    28 ноября 2010 г. 14:42
  • Ну что касается именований, то лучше делать строки аналогичные их содержанию, например const string wrongPassword = "Wrong Password";

    А дальше - либо в отдельный класс для констант, либо в Resx (что по сути дела то же самое)


    - Dmitri Nesteruk
    • Помечено в качестве ответа Abolmasov Dmitry 29 ноября 2010 г. 6:21
    28 ноября 2010 г. 18:35