Я знаю, что параметры атрибутов атрибутов должны быть постоянным выражением и разрешаться во время компиляции. Однако можно ли играть с концепцией «время компиляции»? ASP.net имеет концепцию папки App_Code. Это похоже на описание, которое вы можете отбросить в него .cs-файлы, даже когда приложение запущено, и оно будет загружено и скомпилировано. Можно ли использовать этот механизм для динамического создания массива Enum или const, который можно использовать в объявлении атрибута?Динамические параметры для атрибутов
[SomeAttribute(ValidTypes.SomeType)]
public class Foo
{
}
В принципе, я хочу, чтобы динамически расти действительных типов в ValidTypes без необходимости перекомпиляции всех компонентов, которые ссылаются на него. И мне нужно синхронизировать его со списком значений в таблице базы данных. Итак, мой вопрос: могу ли я удалить файл .cs с определением для массива Enum или const string в App_Code и автоматически ли он отображаться? Или еще лучше, это механизм .Net использует, чтобы сделать это доступным для вызова в другом месте, поэтому мне не нужно делать это в приложении ASP.Net?
http://stackoverflow.com/questions/3357109/whats-the-simplest-most-elegant-way-to-utilize-a-custom-attribute/3357145#3357145 – asawyer
Извините, но это не относится к делу. Я знаю, как создавать и использовать пользовательский атрибут. Я пытаюсь обойти проблему, когда атрибутные аргументы должны быть статически определены во время компиляции. –