As I was looking for some dynamic proxy implementation (and I did not want to write it myself) , I stumbled on LinFu.
LinFu is a lightweight framework that extends the .NET framework with some really useful functionality. It supports the following features:
-
Dynamic Proxies
-
Duck Typing and Late Binding
-
Ruby-style Mixins
-
Delegates with Lambda Arguments (aka, "Currying")
-
Universal Event Handling
-
A Very, Very Simple IoC Container
-
Design by Contract
If you are interested in learning about the different features and how you can use them, certainly have a look at the following blog series:
- Introducing the LinFu Framework, Part I - LinFu.DynamicProxy: A Lightweight Proxy Generator
- Introducing the LinFu Framework, Part II: LinFu.DynamicObject – Adding Dynamic Language Features to Statically Typed Languages
- Introducing the LinFu Framework, Part III: LinFu.Delegates-Lambda Arguments & Universal Event Handling
- Introducing the LinFu Framework, Part IV: Simple.IOC – The Five Minute Inversion of Control Container
- Introducing the LinFu, Part V: LinFu.DesignByContract2 – Adding Transparent Design by Contract Features to Any .NET Language
- Introducing LinFu, Part VI: LinFu.AOP – Pervasive Method Interception and Replacement for Sealed Types in Any .NET Language