Динамические параметры для атрибутов - PullRequest
0 голосов
/ 28 сентября 2010

Я знаю, что параметры объявлений атрибутов должны быть константным выражением и разрешаться во время компиляции. Однако могу ли я поиграть с понятием «время компиляции»? ASP.net имеет концепцию папки App_Code. Из его описания видно, что вы можете помещать в него файлы .cs, даже когда приложение работает, и оно будет загружено и скомпилировано. Можно ли использовать этот механизм для динамического создания массива Enum или const, который можно использовать в объявлении атрибута?

[SomeAttribute(ValidTypes.SomeType)]
public class Foo
{
}

По сути, я хочу динамически увеличивать допустимые типы в ValidTypes без необходимости перекомпиляции всех компонентов, которые на него ссылаются. И мне нужно синхронизировать его со списком значений в таблице базы данных. Итак, мой вопрос: могу ли я поместить файл .cs с определением массива строк Enum или const в App_Code и показать его автоматически? Или еще лучше: механизм .Net, используемый для этого, доступен для вызова в другом месте, поэтому мне не нужно делать это в приложении ASP.Net?

1 Ответ

0 голосов
/ 28 сентября 2010

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

...