Visual Studio文本模板-获取类列表
本文关键字:获取 列表 Studio 文本 Visual | 更新日期: 2023-09-27 18:15:51
我正在尝试制作一个文本模板,通过项目中的所有类,并根据其属性生成其部分类的附加内容。
我想问,如果我能够以某种方式得到一个项目类树,在那里我可以读取所有的类及其属性和属性。
谢谢
如果您使T4模板主机特定,您可以访问Visual Studio对象模型(EnvDTE)并查看解决方案,它的项目和它的CodeModel。
来自MSDN的示例如下:
<#@ template hostspecific="true" language="C#" #>
<#@ output extension=".txt" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#
IServiceProvider serviceProvider = (IServiceProvider)this.Host;
DTE dte = serviceProvider.GetService(typeof(DTE)) as DTE;
#>
Number of projects in this solution: <#= dte.Solution.Projects.Count #>
一旦你获得了对项目的访问权限,你就可以使用它的CodeModel并查看CodeElements属性,该属性具有项目中的名称空间和类。