Как инициализировать константы во время выполнения, как в списках инициализации C ++? - PullRequest
1 голос
/ 07 марта 2012

Есть ли способ инициализировать постоянные значения в c # во время выполнения, как со списками инициализации в c ++ - ctors?

В частности, я хочу убедиться, что определенное значение (используемый порт) не изменилось после создания основного класса.Может быть, есть другой способ сделать это.

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Вы можете использовать ключевое слово readonly:

Когда объявление поля включает в себя модификатор только для чтения, назначения полей, введенные объявлением, могут происходить только как частьобъявление или конструктор в том же классе.

Пример (скопировано со связанной страницы MSDN):

class Age
{
    readonly int _year;
    Age(int year)
    {
        _year = year;
    }
    void ChangeYear()
    {
        //_year = 1967; // Compile error if uncommented.
    }
}
0 голосов
/ 07 марта 2012

Вы можете использовать статическое свойство без установщика:

private static int FPort = 1234;
public static int Port { get { return FPort; } }
...