我的ASP.NET MVC应用程序中有一个扩展方法。该扩展方法如下所示:
public static MvcHtmlString Metric<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, helper.ViewData);
..
}
我使用以下内容调用上述内容:
@Html.Metric(m => m.Flag)
@Html.Metric(m => m.TotalCount)
在上文中,Flag
是bool?
,TotalCount
是int?
。我的问题是,在Metric
方法中,我如何检测我正在使用的属性的类型?我需要知道的原因是,我想做类似下面的伪代码的事情:
var display = "";
if (property is nullable bool)
{
if (property is null) || (property is false)
{
display = "no";
}
else
{
display = "yes";
}
}
如何检测我正在使用的属性类型?
谢谢!