在这种情况下,这个错误意味着什么?
if (value == null)
return "";
if (value is Nullable && ((INullable)value).IsNull) //error on this line
return "";
if (value is DateTime)
{
if (((DateTime)value).TimeOfDay.TotalSeconds == 0)
return ((DateTime)value).ToString ("yyyy-MM-dd");
return ((DateTime)value).ToString ("yyyy-MM-dd HH:mm:ss");
}
我搜索但没有得到任何关于此错误的信息.我在Mono(2.10.8.1)上尝试这个.这是一个实际用于Windows的项目,但是当我尝试在Monodevelop中编译它时,我收到了这个错误.
解决方法:
问题出在这里:
if (value is Nullable
它认为你在谈论static class System.Nullable
而不是System.Nullable<T>
结构.
也许你的意思是:
if (value is INullable ...)
?
注意,如果value是编译时类型对象,那么它永远不会是Nullable< T>,因为装箱空值会给出空引用,而装箱非空值会给出基础类型的盒装值.
如果您认为还有其他事情需要实现,请说明您要做的事情.