在我的monodroid应用程序中,有许多类型需要将CLLocation对象赋值为空值。我需要它来检测一些特定的conditions.For示例,假设一个函数对CLLocationCoordinate2D对象做了一些操作,我们想让if和exeption访问这个函数,它返回null.But,monotouch,不允许这个类型的空值。
这是我在这个提案中使用的测试方法:
private static CLLocationCoordinate2D sampleMethod ()
{
try {
return new CLLocationCoordinate2D ();
} catch (Exception ex) {
return null;
}
}和误差的一致性:
Error CS0037: Cannot convert null to `MonoTouch.CoreLocation.CLLocationCoordinate2D' because it is a value type (CS0037) (Realtyna_iPhone_Project)在这种情况下我们应该怎么做呢?
发布于 2013-02-11 09:12:06
CLLocationCooredinate2D为值类型,不能为null。但是,C#允许您将值类型包装在Nullable包装器中,以便它们可以包含空值。
例如,这应该是有效的:
private CLLocationCoordinate2D? ProcessLocation ()
{
CLLocationCoordinate2D? retLoc;
try {
// do something with retLoc here
} catch (Exception ex) {
retLoc = null;
}
return retLoc;
}https://stackoverflow.com/questions/14799478
复制相似问题