我想获得的所有类的特定组件,这是我的代码
var assembly=Assembly.GetExecutingAssembly();
var assemblies = assembly.GetTypes().Where(t => String.Equals(t.Namespace, "RepoLib.Rts.Web.Plugins.Profiler.Models", StringComparison.Ordinal)).ToArray();
在C#代码的所有事情是确定的,并让我的组件,但是当在写t4
文件我没有任何错误,但我的组件数是。
在T4模板执行的程序集不你的,但一个从T4发动机。
从您的组件访问类型,你必须执行以下步骤:
参考你的组件添加到模板。 放,在它的顶部:
<#@ assembly name="$(SolutionDir)<Project>\bin\Debug\<Project>.dll" #>
导入程序集的命名空间。 把前一行下的某个地方:
<#@ import namespace="<Project>.<Namespace>" #>
要访问的类型在这个大会,选择其中之一,并从它那里得到大会:
var assembly = typeof(<Type in assembly>).Assembly; var types = assembly.GetTypes() .Where(t => String.Equals( t.Namespace, "RepoLib.Rts.Web.Plugins.Profiler.Models", StringComparison.Ordinal)) .ToArray();