Как конвертировать строку в числовую константу?

Рейтинг: 1Ответов: 2Опубликовано: 10.10.2014

Доброго времени суток!

Для использования переменной в enum встала необходимость перевода ее в константу, в связи с чем столкнулся со следующим:

  public const int Aries = Convert.ToInt32(@"Sample text");
  Error 1 The expression being assigned to 'myNameSpace.Class2.Aries' must be constant

Есть ли адекватный способ перевода текста в int константу?

Ответы

▲ 1Принят

Понял, в чём у Вас беда, - константа должна быть константой и вычисляться на этапе компиляции, а не в ран тайме. Соответсвенно - просто поставить не строку :-) Потому что функция не может быть вычислена на этапе компиляции, будь то Convert.toInt[16|32|64], int.Parse или что ещё.

▲ 1

Если значение константы невозможно вычислить на этапе компиляции, то вместо const можно использовать static readonly:

public static readonly int Aries = Convert.ToInt32(@"Sample text");