我想知道如果任何人有任何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