gpt4 book ai didi

.net - 这个 hack 是 T4 的定义行为吗

转载 作者:行者123 更新时间:2023-12-04 05:26:24 27 4
gpt4 key购买 nike

我最近开始了一个远征来对一个相当复杂的 T4 类(class)进行单元测试。我已经取得了重大突破,但恐怕观察到的行为可能只是巧合(即,可能会在 Visual Studio 的 future 版本中中断)

我基本上有这样的事情:

主模板.tt:

<#@ include file="generator.tt.cs" #>

然后在 generator.tt.cs 我有
//<#+
class code
{
....
}
//#>

观察到的行为是,我既可以使用 T4 模板中声明的类等,也可以正常编译代码文件。但是,在 <#+ 之前添加评论前缀和 #>标签在所有定义的行为?将来我会冒险吗?

此外,我已经在 MonoDevelop 和 Visual Studio 2012 上对此进行了测试。它似乎对两者都有效。不过,Visual Studio 2008 兼容性对我来说并不重要。

最佳答案

我不能说我们将来“永远”不会破坏事物,但我发现很难想象我们会做什么来破坏它。功能块内的评论将始终受到尊重,并且在需要尊重之前的评论才能允许生成评论。我认为你很安全。

我认为您必须在 generator.tt.cs 文件中使用完全限定的名称,因为没有地方可以放置 using 语句或命名空间。

这与通过一些空 stub 模板为您的测试预编译辅助库然后测试预编译版本相比如何?

关于.net - 这个 hack 是 T4 的定义行为吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com