Как создать локальные константы из значений, возвращаемых во время выполнения? - PullRequest
0 голосов
/ 22 декабря 2010

Я хочу, чтобы имя файла было константой:

string filename = "WR" + DateTime.Now.ToString("M_dd_yyyy") + ".xls";

Я также хочу, чтобы имя файла было локальным, а не полем (я знаю, что только чтение может решить проблему таким образом)

1 Ответ

3 голосов
/ 22 декабря 2010

Вы можете использовать переменную readonly.Его можно инициализировать во время объявления и изменить в конструкторе, но больше нигде.И это относится только к полям, а не к локальным переменным.

private readonly string filename = "WR" + DateTime.Now.ToString("M_dd_yyyy") + ".xls";

Что касается того, почему вы не можете использовать const таким образом - С MSDN :

Постоянное выражение - это выражение, которое может быть полностью оценено во время компиляции.

И, конечно, DateTime.Now, не может быть.

...