использовать глобальную настройку в качестве аргумента атрибута - PullRequest
3 голосов
/ 24 декабря 2008

Я хочу указать аргумент в атрибуте, например:

[OutputCache(Duration = GlobalSettings.GlobalVar)]

Где GlobalVar - это переменная, которую я определил только один раз (не важно, где).

Использование параметра конфигурации все равно не работает, и я не могу заставить его работать с некоторым статическим классом.

Я получаю ошибку: Аргументом атрибута должно быть константное выражение, выражение typeof или выражение создания массива типа параметра атрибута

Возможно, можно написать специальную оболочку для OutputCache, но это похоже на хак. Я что-то здесь упускаю?

1 Ответ

6 голосов
/ 24 декабря 2008

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

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