使用 t4 模板生成动态代码

Posted

技术标签:

【中文标题】使用 t4 模板生成动态代码【英文标题】:Dynamic code generation using t4 template 【发布时间】:2017-06-06 13:34:31 【问题描述】:

我正在开发 WPF 代码生成工具。但是过了一段时间我就卡住了。我使用 T4 模板成功生成了动态代码(基本上是一种方法)。我正在使用 streamwriter 将此代码写入 c# 类文件(有一个选择文件的选项)。但我只能在课外(在最后的右括号之后)这样做。但我的要求是:

    我需要在类 iteself 中编写这个生成的方法

    在更新期间,我必须获取所选类文件中列出的所有方法的详细信息(如方法名称、返回类型、该方法中使用的存储过程、该方法中使用的参数等)。在大多数类文件中有 100 种方法。我需要了解这一切的详细信息。

我必须在不使用任何类型的字符串操作方法的情况下做到这一点。我想使用某种解析或任何其他方式来做到这一点。对此的任何帮助将不胜感激。希望有人可以帮助我...

【问题讨论】:

你可以添加一些代码sn-ps到这个吗? 粘贴您的模板代码 【参考方案1】:

T4 没有提供对文件执行任何操作的功能。 它的目标区域是生成一段文本。

我建议生成包含所有方法的整个类并替换现有文件。

【讨论】:

以上是关于使用 t4 模板生成动态代码的主要内容,如果未能解决你的问题,请参考以下文章

T4 模板

T4模板:T4模板之菜鸟篇

使用与模板存在于同一项目中的 T4 模板中的类型

T4 编辑生成的代码作为其生成

我们如何让 T4 模板根据用户正在编辑的 .cs 文件生成代码?

T4模板之菜菜鸟篇