首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >T4模板拦截

T4模板拦截
EN

Stack Overflow用户
提问于 2010-12-14 02:59:55
回答 1查看 327关注 0票数 0

我想知道有没有人知道任何基于T4模板的方法拦截系统?

我们开始编写移动应用程序(目前使用的是IOS版的MonoTouch )。我们有一套非常好的DI/IoC核心功能,我想在新平台的开发中利用这一点。由于不支持运行时代码生成Reflection.Emit,我希望使用T4模板来实现动态拦截功能(+ TinyIoC作为解析的容器)。

我们目前正在使用Castle Windsor (并打算在我们的SL和完整的.NET开发中继续这样做),但是所有Windsor特定的绑定都是完全封装的,所以如果给出一个合适的T4解决方案,实现一个使用基于T4的实现而不是Windsor的适配器应该不难。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-22 15:30:07

如果我理解正确的话,您希望使用T4动态生成代码(在运行时)。我不知道有任何系统可以做到这一点,但我认为编写这样的东西并不是很难。

您需要做的是指示C# (或任何其他.NET编译器)编译一些代码并生成程序集。完成后,您需要将此程序集加载到AppDomain中。之后,您可以使用该动态加载的程序集中的类型。

T4模板引擎(如果我没记错的话)是Visual Studio的一部分,所以最困难的部分是指示模板引擎生成代码,而您的应用程序可能不需要依赖于Visual Studio,甚至不需要启动它(这将是可怕的)。

如果您不需要T4的全部功能(很可能),您也可以自己编写一些.NET代码,将其安全地保存到一个文件中,并指示C#编译器为您生成一个程序集。

祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4432475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档