动态中缺少的属性在asp.net中处理方式不同
本文关键字:net 处理 asp 方式不 属性 动态 | 更新日期: 2023-09-27 17:54:33
我在看罗布·海牛。在将json迁移转换为动态对象之后,他检查是否存在如下属性:
if (col.nullable != null) {
if (col.nullable) {
sb.Append(" NULL ");
} else {
sb.Append(" NOT NULL ");
}
} else {
sb.Append(" NULL ");
}
当我尝试将其编译成wpf应用程序时,第一行出现异常:
System.Dynamic。ExpandoObject "不包含的定义"可空"
那么,为什么在asp.net设置中使用这个工作呢?或者这与WebMatrix有关?
问题是webmatrix正在使用它自己的动态类型而不是扩展。对于expando,如果一个值从未设置过,它将抛出一个异常,而不是返回null。我不确定json fx是否会让你使用不同的"expando"像这个对象
.net DynamicObject实现,为丢失的属性返回null,而不是RunTimeBinderException
另一种选择是捕获混乱成员的异常。