Iam*_*mIC 5 c# t4 visual-studio-2012
我有一个T4 C#文件,我需要在静态类中引用一个常量.静态类位于同一名称空间中.
这可能吗?
以下仅仅是一个例子.我需要根据现有常量计算实际常量,但也需要调用扩展方法.为了简单起见,我只是在说明这个概念.
.cs文件:
namespace me
{
public static class Stat
{
public const int Const = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
.tt文件:
...
namespace me
{
public static int Test
{
return <#= Stat.Const #>;
}
}
Run Code Online (Sandbox Code Playgroud)
这确实是可能的。但是,您首先需要做几件事:
<#@ assembly name="$(TargetPath)" #><#@ import namespace="ns" #>应该可以做到这一点。棘手的一点是要意识到您的 .tt 不像项目中的任何旧类文件那样工作。因为它是生成的,所以需要从中生成一些东西,在本例中是您必须预先生成的项目 dll。
正如所承诺的,这是我写的关于这个问题的博客文章:)
| 归档时间: |
|
| 查看次数: |
1011 次 |
| 最近记录: |