有没有办法指示T4模板生成空行或换行符?
我意识到我可以在已经包含一些文本的块中输出空格。但是,如果我没有输出文字,那该怎么办呢?我想简单地输出一个空白行。例如,在方法调用之间。
@TobiMcNamobi
我正在尝试各种方式使用'#>'和'<#+'以下方法调用之间的标记。我似乎偶然发现了一种有效的技术('#><#+'),但我不明白为什么它有效。就我所知,我指示模板输出一个空格。
<#+
public class Blah
{
/// <summary>
/// Generates properties.
/// </summary>
/// <param name="codeInterface">The interface containing the properties collection.</param>
public void GenerateProperties(string blah)
{
IEnumerable<String> properties = codeInterface.Properties;
foreach (var property in properties)
{
if (!codeInterface.IsInterface)
{
this.GeneratePrivateVariable(property);
}
}#> <#+
foreach (var property in properties)
{
if (codeInterface.IsInterface)
{
this.GenerateInterfaceProperty(property);
}
else
{
this.GenerateClassProperty(property, codeInterface as string);
}
}
}
#>
编辑:它似乎最初起作用。我按照上面的方式生成,它生成了我预期的输出。现在它没有。这样做:
}
}#> (<-- a single space here, after the tag)
<#+
foreach (var property in properties)
用视觉传达相当困难。实质上:
我不知道这是否正确,但似乎有效。
答案 0 :(得分:1)
你的例子在&#34;空&#34;上写了一个空格。线。 要解决此问题,您可以使用写入(&#34; \ r \ n&#34;);
在你的例子中:
foreach (var property in properties)
{
if (!codeInterface.IsInterface)
{
this.GeneratePrivateVariable(property);
}
}
Write("\r\n");
foreach (var property in properties)
{
这应该为生成的文件添加新行。