我想知道如果任何人有任何T4基于模板的方法拦截系统,谁知道呢?T4模板拦截
我们开始写的移动应用程序(目前为MonoTouch的IOS)。我们拥有非常好的DI/IoC核心功能,我希望在新平台的开发中充分利用这一点。由于不支持运行时代码生成Reflection.Emit,因此我希望使用T4模板来实现动态拦截功能(+ TinyIoC作为解决方案的容器)。我们目前正在使用Castle Windsor(并打算继续为我们的SL和完整的.NET开发这样做),但所有Windsor的特定关系都是完全封装的,所以给定一个合适的T4解决方案,它不应该是很难实现一个使用基于T4的实现而不是Windsor的适配器。
其实,有一个使用它的飞行在运行时Mono项目:)......但实际上并不是我想要在这里做。即使我可以在运行时做到这一点,但这并不好,因为平台(MonoTouch/iOS)不会让我在运行时进行编译(无动态代码发射)。我试图在构建时自动生成和编译来自T4模板的代码,以便产生与运行时生成的类相同的效果。我喜欢你的最后一个想法......也许有一个控制台应用程序,它可以遍历编译好的程序集,并使用CSharpCodeProvider将代理类吐出到一个被编译的文件中。 – Jeff 2010-12-22 20:35:03