Если у вас есть классная машина, которая реализует IVehicle, и вы хотите обернуть ее в декоратор, который перенаправляет все вызовы на машину и считает их, как бы вы это сделали?
В Ruby я мог бы просто создать декоратор без каких-либо методов и использовать method_missing для перенаправления всех вызовов автомобильному объекту.
В Java я мог бы создать объект Proxy, который запускает весь код через один метод и затем пересылает его.
Есть ли что-то похожее, что я могу сделать в C #?
Обновление:
на основе ответов и того, что я читал о System.Reflection.Emit, должно быть возможно написать метод, подобный этому:
Type proxyBuilder(Type someType, delagate functionToBeApplied, Object forward)
где тип реализует весь интерфейс someType, выполняет functionToBeApplied и затем перенаправляет вызов метода к объекту при возврате его возврата.
Есть ли какая-нибудь библиотека, которая делает именно это, или мне придется написать свою собственную?