Как создать атрибут, который проверяет переменную каждый раз, когда метод вызывается?
Когда PrincipalPermissionAttribute
присоединен к методу (показано ниже).Если правила, указанные в параметрах, не выполнены, генерируется исключение.
[PrincipalPermission(SecurityAction.Demand, Role = "Admin"]
public void MyMethod()
{
//Do something if you are an "Admin"
}
В основном (в этом примере), всякий раз, когда MyMethod()
вызывается , значение Thread.CurrentPrincipal
равнопроверено и если это не Роль "Admin", SecurityException
выбрасывается.
Итак ... как мне подражать этому поведению?Я хотел бы атрибут метода, который «реагирует» на переменную времени выполнения.Большинство примеров атрибутов, которые я нашел в Интернете, связаны с добавлением отображаемого имени к свойству или чему-то подобному.