Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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#_Enums_Dotliquid - Fatal编程技术网

C# 使用DotLiquid模板引擎处理枚举

C# 使用DotLiquid模板引擎处理枚举,c#,enums,dotliquid,C#,Enums,Dotliquid,我目前正在做一个网络项目,我需要能够发送电子邮件。我开始在模板引擎中使用DotLiquid,但我发现它存在某些问题,最大的问题是它似乎无法处理枚举 我尝试将类型注册为“Safe”,就像Template.RegisterSafeType(typeof(Gender),新字符串[]{“Male”,“Female”}),但它似乎不起作用。充其量,不再抛出任何异常,但预期结果为空 <ul> {% for f in Model.Friends %} {% if f.Ge

我目前正在做一个网络项目,我需要能够发送电子邮件。我开始在模板引擎中使用DotLiquid,但我发现它存在某些问题,最大的问题是它似乎无法处理枚举

我尝试将类型注册为“Safe”,就像
Template.RegisterSafeType(typeof(Gender),新字符串[]{“Male”,“Female”}),但它似乎不起作用。充其量,不再抛出任何异常,但预期结果为空

<ul>
    {% for f in Model.Friends %}
        {% if f.Gender == Male %}
            <li>
                {{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
            </li>
        {% endif %}
    {% endfor %}
</ul>

<ul>
    {% for f in Model.Friends %}
        {% if f.Gender == Gender.Male %}
            <li>
                {{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
            </li>
        {% endif %}
    {% endfor %}
</ul>

<ul>
    {% for f in Model.Friends %}
        {% if f.Gender == 0 %}
            <li>
                {{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
            </li>
        {% endif %}
    {% endfor %}
</ul>
    {Model.Friends%} {%f.性别==男性%}
  • {{f.FirstName}{{f.LastName}{{f.Gender}}
  • {%endif%} {%endfor%}
    {Model.Friends%} {%f.Gender==Gender.Male%}
  • {{f.FirstName}{{f.LastName}{{f.Gender}}
  • {%endif%} {%endfor%}
    {Model.Friends%} {%f.性别==0%}
  • {{f.FirstName}{{f.LastName}{{f.Gender}}
  • {%endif%} {%endfor%}
以上所有人都无法归还任何东西。我很乐意使用枚举的字符串或int表示形式,但目前还没有。有人找到了解决这个问题的办法吗

我希望避免自己在Drop对象中“转换”enum,因为这可能会在以后造成混淆


谢谢。

好的,如果有人对此感兴趣,我就找到了答案

注册类型时,还可以根据所采用的重载将
Func
指定为第二个或第三个参数。此函数允许您指定转换值

因此,在我的示例中,您可以这样做:

Template.RegisterSafeType(typeof(Gender), o => o.ToString());

它开始工作了。

好的,如果有人对它感兴趣,我就找到了答案

注册类型时,还可以根据所采用的重载将
Func
指定为第二个或第三个参数。此函数允许您指定转换值

因此,在我的示例中,您可以这样做:

Template.RegisterSafeType(typeof(Gender), o => o.ToString());

它开始工作了。

好的,如果有人对它感兴趣,我就找到了答案

注册类型时,还可以根据所采用的重载将
Func
指定为第二个或第三个参数。此函数允许您指定转换值

因此,在我的示例中,您可以这样做:

Template.RegisterSafeType(typeof(Gender), o => o.ToString());

它开始工作了。

好的,如果有人对它感兴趣,我就找到了答案

注册类型时,还可以根据所采用的重载将
Func
指定为第二个或第三个参数。此函数允许您指定转换值

因此,在我的示例中,您可以这样做:

Template.RegisterSafeType(typeof(Gender), o => o.ToString());

然后它开始工作。

嗨。这部分有用吗?”{%if f.Gender==Male%}我尝试了类似的方法,但是枚举值'Male'或'Gender.Male'似乎没有被识别。Hi。这部分有用吗?”{%if f.Gender==Male%}我尝试了类似的方法,但是枚举值'Male'或'Gender.Male'似乎没有被识别。Hi。这部分有用吗?”{%if f.Gender==Male%}我尝试了类似的方法,但是枚举值'Male'或'Gender.Male'似乎没有被识别。Hi。这部分有用吗?”{%if f.Gender==Male%}我尝试了类似的方法,但枚举值'Male'或'Gender.Male'似乎无法识别。