Значение переключения, определенное во время выполнения в c # - PullRequest
2 голосов
/ 26 февраля 2009

У меня есть регистр в c #. Я хотел бы выбрать значения для случаев из файла конфигурации во время выполнения. Возможно ли это?

Ответы [ 3 ]

2 голосов
/ 26 февраля 2009

Не с оператором switch, нет. Метки случая должны быть константами времени компиляции.

У Марка Гравелла есть конструкция типа переключателя, которую вы можете использовать где-нибудь ... Я постараюсь найти ее. Впрочем, он может не подойти для вашего конкретного использования.

В противном случае последовательность if / else if / else if [...] / else - это путь.

0 голосов
/ 26 февраля 2009

Как уже говорили другие, оператору switch нужны значения во время компиляции, поскольку базовая хеш-таблица создается во время компиляции. Если у вас есть записи, которые определяются во время выполнения, я бы использовал хеш-таблицы / словари с шаблоном команды или делегатами на вашем месте.

0 голосов
/ 26 февраля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...