在这种情况下,这个错误意味着什么?
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");
}
Run Code Online (Sandbox Code Playgroud)
我搜索但没有得到任何关于此错误的信息.我在Mono(2.10.8.1)上尝试这个.这是一个实际用于Windows的项目,但是当我尝试在Monodevelop中编译它时,我收到了这个错误.
问题出在这里:
if (value is Nullable
Run Code Online (Sandbox Code Playgroud)
它认为你在谈论静态类System.Nullable而不是System.Nullable<T>结构.
也许你的意思是:
if (value is INullable ...)
Run Code Online (Sandbox Code Playgroud)
?
请注意,如果value是编译时类型object,则它永远不会是a Nullable<T>,因为装箱空值会给出空引用,而装箱非空值会给出基础类型的装箱值.
如果您认为还有其他事情需要实现,请说明您要做的事情.
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |