【发布时间】:2017-10-20 15:45:45
【问题描述】:
我有以下名为 (MyTest.tt) 的 T4 模板文件,其中 TestName(String) 和 MyAction(Action) 是参数。我可以将 lambda 动作传递到模板中吗?
如何将数据传递给参数?
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="$(TargetPath)" #>
<#@ output extension=".Generated.cs" #>
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace Test.TestTemplate
{
[TestClass]
public class Test2
{
[TestMethod]
public void HAS_ACCESS_<#= "TestName" #>()
{
<#= MyAction.Invoke() #>
}
}
}
【问题讨论】:
-
MyAction(Action) 是什么意思?这是委托类型?如果是这样,在模板中用作纯文本的委托类型的目的是什么?或者您的意思是这只是代表的名称(字符串)?
-
嗨@vasiloreshenski 我的意思是一个lambda函数。
-
你会像这样调用它 ?
-
是的,我会改正的。但是如何将参数传递到模板中?
-
顺便说一句,当我尝试保存模板时出现错误:命名空间不能直接包含字段或方法等成员
标签: c# unit-testing t4