T4已经在Visual Studio中存在了好几年,但没有得到很多关注。但是,对于那些了解它的人来说,似乎有一些非常有创意和有用的目的。
我正在研究使用T4的一些不同方式,我很高兴听到您如何将它用于现实生活场景。我主要对非标准和创造性用途感兴趣。
一些有趣的例子:
注意:我意识到这是一个面向讨论的问题,但答案可能对其他人有所帮助。我已将其标记为主观且也标记为“社区维基”,因此请允许该问题保持开放。谢谢!
答案 0 :(得分:8)
我不是app.config / web.config的强大粉丝,所以我使用T4读取这些文件并创建一个AppSettings / WebSettings类,它将连接字符串和键/值包装在一个真实的中类。这意味着,只要我总是使用AppSettings.SomeValue来引用我的app.config,我就会得到编译时检查,真的很好。
答案 1 :(得分:4)
我使用sharp-architecture中的T4模板生成从模型到控制器到基本视图的所有内容。
绝对值得一试,即使您只是想看一些T4模板的高级示例
答案 2 :(得分:4)
我使用T4:
它为我的项目提供了一个良好,快速,简单,基本的起点。
最好的是我掌控着。
答案 3 :(得分:2)
SubSonic 3.0大量使用T4模板来生成实体代码。
基本上它在数据库连接上调用GetSchema()
并运行它通过T4实体模板找到的每个表。在这里使用T4的好处是,如果你不喜欢它处理数据库模式的方式,只需编辑模板。
我已经调整了T4来更好地处理MySQL数据库,因为我使用了许多tinyint
列,默认T4映射到byte
类型。对T4的快速编辑为我提供了我想要的类型,而不是我的应用程序实体。
答案 4 :(得分:2)
T4的LINQ to SQL模板
http://l2st4.codeplex.com/
为需要Visual Studio 2008的C#和VB.Net复制SQLMetal和LINQ to SQL类设计器代码生成器的功能的模板。
答案 5 :(得分:2)
通过Scott Hanselman与Kathleen Dollard谈话,在T4上看看这个播客 http://www.hanselminutes.com/default.aspx?showID=170
答案 6 :(得分:2)
我用T4生成:
答案 7 :(得分:1)
T4模板在Web服务软件工厂中大量使用(Service Factory)。
答案 8 :(得分:1)
请参阅此处,查看社区中30多个T4生成器的列表,包括ASP.NET,WCF,UML,ADO.NET,.NET
http://t4-editor.tangible-engineering.com/How-Do-I-With-T4-Editor-Text-Templates.htm