Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#DotLiquid简单示例单元测试未按预期工作_C#_.net 4.0_Template Engine_Liquid - Fatal编程技术网

C#DotLiquid简单示例单元测试未按预期工作

C#DotLiquid简单示例单元测试未按预期工作,c#,.net-4.0,template-engine,liquid,C#,.net 4.0,Template Engine,Liquid,我一直想使用伟大的DotLiquid,并试图效仿(我自己写的)这个例子,但没有取得任何重大成功 internal class AuthorDrop : Drop { private String lname; public String ToGive { get { return lname; } } public AuthorDrop(String t) { lname = t; } } 与相应的测试 [Test] public

我一直想使用伟大的DotLiquid,并试图效仿(我自己写的)这个例子,但没有取得任何重大成功

internal class AuthorDrop : Drop {
    private String lname;

    public String ToGive { get { return lname; } }


    public AuthorDrop(String t) {
        lname = t;
    }
}
与相应的测试

[Test]
    public void TestFirstStep() {
       Template tpl = Template.Parse("hi {{ author2.togive }}");  
       Console.WriteLine(tpl.Render(Hash.FromAnonymousObject(new { author2 = new AuthorDrop("Test 123") }))); 
    }
然而,这导致了输出

而不是hi测试123

有人能帮我弄清楚这是怎么回事吗

提前非常感谢你

--
Chris默认情况下,DotLiquid对方法和属性使用Ruby的命名约定。在你的例子中,ToGive被“重命名”为“give”。 如果愿意,您可以通过设置静态属性
dotluide.Template.NamingConvention=new dotluide.NamingConventions.CSharpNamingConvention()来使用C#命名约定