10
これはこれは私の質問ですjinja2でマクロを再帰的に呼び出す方法は?
using System;
namespace {{ domain["ns"] }} {
{% for class in domain["content"] %}
public class {{ class["name"] }} {
#region Inners
{{ class["innerClass"] }}
#endregion
#region Props
{% for field in class["content"] %}
{% if field["readonly"] == "true" %}
{% set readonly="private" %}
{% else %}
{% set readonly="" %}
{% endif %}
public {{ field["type"] }} {{ field["name"] }} {get;
{{ readonly }} set{
if ({{ field["constraint"] }}){
{{ field["name"] }}=value;
}else {
throw new Exception("Inserted value for {{ field["name"] }} is not valid!");
}
}
}
{% endfor %}
#endregion
}
{% endfor %}
}
私のデータモデルからC#コードを生成する、ための内部クラスを生成するために、私の神社テンプレートで、私はクラスの[「を渡すことができますどのように私のデータモデル、上の再帰的にループしたいですinnerClass "]を最初のfor文のパラメータとして使用しますか?
を再帰的にツリー状の構造をレンダリングするあなたもJinja2ののループ再帰的な偉業を使用することができますure、[例](http://stackoverflow.com/a/10961991/4279) – jfs
@ J.F.Sebastian:それは私の解決策よりもきれいです。あなたはあなたのコメントを答えにする必要があります。 – Helgi
@Helgi Yoursははるかに簡単です。 Jinjaの再帰的なループ構文は、通常の再帰よりも混乱します。 –