【发布时间】:2013-03-04 15:26:14
【问题描述】:
ASP.NET MVC 中的一个方法需要一个表达式 Expression<Func<TModel,Boolean>>(在屏幕上显示一个复选框 HTML 控件),但我的成员是 Boolean?。
在我们的例子中,对于这种特定情况,null 与 false 相同,必须显示一个未选中的 HTML 复选框。
我如何将Expression<Func<TModel,Boolean?>> 转换为Expression<Func<TModel,Boolean>>,顺便添加value = nullableValue.HasValue && nullableValue.Value 之类的内容?
请记住,结果 Expression 必须仍然是 MemberExpression,是什么让我想知道这是否可能。
干杯。
【问题讨论】:
-
如果你只想给你的可空布尔值一个默认值,使用短语
nullableValue ?? false。??将使用它的值,如果它有一个,如果没有,使用你指定的值。 -
嗯,应用程序实际上并没有分配值。它只使用类来生成 HTML 模板,但不使用这些类的任何实例。
标签: c# generics lambda expression-trees expression