3

私は素晴らしい 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 の代わりに。

ここで何が起こっているのかを理解するのを手伝ってくれる人はいますか?

よろしくお願いします。

-- クリス

4

1 に答える 1

11

デフォルトでは、DotLiquid は Ruby の命名規則をメソッドとプロパティに使用します。あなたの例では、ToGive は to_give に「名前変更」されています。必要に応じて、代わりに static プロパティを設定して C# 命名規則を使用できますDotLiquid.Template.NamingConvention = new DotLiquid.NamingConventions.CSharpNamingConvention();

HTH

于 2011-01-08T14:57:51.633 に答える