gpt4 book ai didi

c# - 使用评估参数调用方法的 NVelocity 语法

转载 作者:行者123 更新时间:2023-11-30 22:44:59 25 4
gpt4 key购买 nike

我有一个相当简单的模板,我需要从中进行方法调用。但是,NVelocity 似乎不会评估本身是 NVelocity 变量 的方法参数。采用以下 NVelocity 模板:

#if (--- CONDITION SNIPPED ---)
<blockquote class="column span-4">
I MADE IT!
</blockquote>
#else
<blockquote class="column span-4">
$extensionMethods.TestMethod(${var1})
</blockquote>
#end

在上面的模板中,$extensionMethods 作为一个类的实例传入,并且在传入评估数字时效果很好(例如 $extensionMethods.TestMethod(4)每次都有效)。但是,使用 $var1 会导致整个字符串按原样返回:$extensionMethods.TestMethod(${var1})

有没有办法将一个变量惰性地传递给一个方法来让上面的模板正确求值?

最佳答案

如果您遇到问题,可能与您的变量类型或方法可用性有关。我已经构建并测试了以下内容:

public class TestClass
{
#region Methods
public string DoSomething(string name)
{
return name.ToUpperInvariant();
}

public string DoSomethingElse(int age)
{
return (age*10).ToString();
}
#endregion
}

还有我的模板:

#set($myVar = "matt")
#set($myVar2 = 10)

Name: $test.DoSomething(${myVar})
Age: $test.DoSomethingElse(${myVar2})

输出:

Name: "MATT"
Age: 100

我们可以看看您的扩展方法的一些代码吗?

关于c# - 使用评估参数调用方法的 NVelocity 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251185/

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