Атрибут для проверки поля инициируется определенной точкой в ​​жизненном цикле страницы ASP.Net - PullRequest
0 голосов
/ 13 июля 2010

Я хотел бы создать атрибут, которым можно украсить определенные поля или свойства. Этот атрибут генерирует исключение, если декорируемое поле или свойство равно нулю в заданной точке жизненного цикла страницы ASP.Net. И.Е. если свойство «x» является нулевым на этапе предварительного представления страницы ASP.Net, это вызовет исключение «ArgumentNullException» с хорошим сообщением. Или подлое сообщение. В любом случае, сообщение моего выбора.

Возможно ли это со стандартными атрибутами .Net, или потребуется какое-то волшебство Spring.Net? Любое руководство приветствуется.

Спасибо

1 Ответ

0 голосов
/ 13 июля 2010

Теперь я понимаю ваши настройки. Меня смущает только твой вопрос.

Вам необходимо определить свой собственный класс атрибутов, производный от класса атрибутов CLR. Для этого просто потребуется параметр, указывающий, в каких точках проверять.

Тогда вам понадобится класс, производный от Page, который будет базовым классом для ваших страниц, который в подходящее время (например, PreRender () и т. Д.) Будет использовать отражение для сканирования членов страницы, ищу тех, у кого есть атрибут.

ОБНОВЛЕНИЕ (в ответ на комментарии): атрибуты - это просто данные, прикрепленные к PropertyInfo. Он никогда не «исполняется» фреймворком. Вы можете искать его, если хотите, и, если вы найдете один из ваших атрибутов, вы можете вызвать метод для него, но это должно быть сделано с помощью чего-то вне атрибута. (Я ничего не знаю о весне, поэтому я не могу вам там помочь)

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