我一直想要使用伟大的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 test 123。
任何人都可以帮我弄清楚这里发生了什么吗?
提前非常感谢,
- 克里斯
答案 0 :(得分:10)
默认情况下,DotLiquid使用Ruby的方法和属性命名约定。在您的示例中,ToGive被“重命名”为to_give。
如果您愿意,可以通过设置静态属性DotLiquid.Template.NamingConvention = new DotLiquid.NamingConventions.CSharpNamingConvention();
HTH