如何将动态null布尔值转换为false
本文关键字:转换 false 布尔值 null 动态 | 更新日期: 2023-09-27 18:03:15
我正在创建ASP。. NET MVC4 c#应用程序,它接受动态查询并动态生成razor视图。
应用程序使用WebMatrix.Data.Query()获取数据。这个方法返回IEnumerable<dynamic>
。结果行可以包含bool?输入值为null的属性
这些值在动态生成的razor视图中使用&&、||和!操作符。这些操作符不接受空布尔值,在这种情况下会发生运行异常。
我正在寻找一种方法来解决这个问题。似乎最好的方法是将动态布尔null值转换为false。
I tried method
public static dynamic BooleanNullToFalse(dynamic value)
{
if (value == null && value is bool?)
return false;
return value;
}
但是得到奇怪的编译错误
表达式不能编译动态表达式所需的一个或多个类型发现。你是不是漏掉了一个参考资料?
value == null
中的如何解决这个问题,使代码编译?
另一种可能是强制&&
, ||
和!
布尔运算符接受空值或定义新的接受空值的布尔运算符。我不知道这可能/合理吗?
添加Microsoft。参考你的项目,如果它已经存在,然后删除并重新添加,按照这个评论