Что вы действительно спрашиваете, есть ли в .NET framework какие-либо хуки для аспектно-ориентированного программирования (AOP). К сожалению, ответ: нет , не по умолчанию.
Существует множество платформ, которые позволяют вам это делать, но большинство требует, чтобы типы с таким оформлением создавались специализированной фабрикой.
- Многие DI-контейнеры имеют так называемые возможности перехвата, которые позволяют вам это делать. Примером такого контейнера DI является Castle Windsor .
- Шаблоны и практики Microsoft когда-то создали Блок приложения внедрения политики , который включает такой сценарий.
- В более специализированных случаях вы также видите это в определенных подструктурах - например, В ASP.NET MVC есть что-то под названием ActionFilter, которое работает таким образом, но только если оно размещено в конвейере MVC.
Есть также несколько фреймворков, которые позволяют вам сделать это, изменив IL после его компиляции, но, насколько я понимаю, есть и довольно серьезные недостатки.