Ответ 1
private readonly static int MaxTextLength = "Text i want to use".Length;
Есть ли способ использовать что-то вроде этого:
private const int MaxTextLength = "Text i want to use".Length;
Я думаю, что это было бы более читаемым и менее подверженным ошибкам, чем использование чего-то вроде:
private const int MaxTextLength = 18;
Есть ли способ, чтобы длина текста была источником постоянной переменной?
private readonly static int MaxTextLength = "Text i want to use".Length;
Используйте static readonly
вместо const
.
Константы должны быть константами времени компиляции
К сожалению, если вы используете ключевое слово const, значение в правой части '=' должно быть константой времени компиляции. Использование "string".length требует выполнения кода .NET, который может возникать только при запуске приложения, а не во время компиляции.
Вы можете рассмотреть возможность создания поля readonly, а не const.
Не уверен, почему вы хотите это сделать, но как насчет...
private const string MaxText = "Text i want to use.";
private static int MaxTextLength { get { return MaxText.Length; } }
Требуется ли значение const? Будет ли статичное чтение только для вашего дела?
private static readonly int MaxTextLength = "Text i want to use".Length;
Это позволит вам написать код аналогично первому примеру.