Атрибуты методов С#
Есть ли возможность сделать стандартный "довесок" до любого метода помеченного определенным атрибутом, который бы проверял некоторое условие и обрывал сам метод, если оно не выполнилось?
Я так понимаю, что это возможно сделать через атрибуты метода нельзя.
Код:
[SomeAttribute]
public void TestVoid(string name)
{
// some code
}
public void TestVoid(string name)
{
// some code
}
Но, как оборвать выполнения старшего метода? (а-ля abort в делфи). Я понимаю, что можно сделать булеву функцию и горя не знать, но постоянные проверки в каждом методе
Код:
if (!Allowed(MethodBase.GetCurrentMethod()))
{
// обрываем метод
}
{
// обрываем метод
}
Ну а на самый крайний случай - читал про PostSharp, но не хотелось бы использовать сторонние либы.
Выспался, перечитал свой пост, ужаснулся. Перефразирую немного попроще. В ASP. MVC есть такое понятие - фильтры действий. Есть ли аналог для настольных приложений?