Metaprogramming framework for .net