在此事件处理程序中:
public static void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
{
DateTimeOffset timeStampUTC = args.Position.Coordinate.Timestamp.ToUniversalTime();
DateTimeOffset timeStampLocal = timeStampUTC.LocalDateTime;
DateTimeOffset dateTimeStampUTC = timeStampUTC.DateTime;
RecordLocation(args.Position.Coordinate.Latitude, args.Position.Coordinate.Longitude,
args.Position.CivicAddress.City, args.Position.CivicAddress.State, dateTimeStampUTC, timeStampLocal);
}
...我得到一个Null Reference Exception
因为args.Position.CivicAddress
是null
(传递给的其余参数RecordLocation()
是有效的)。我认为有时 Position 会null
,有时不会。我该怎么做才能让找不到城市或州的时代有增无减?我试图使RecordLocation()
's 定义中的那些字符串可以为空,但这不会编译。
我是否需要检查 CivicAddress 是否为 null 并创建我的RecordLocation()
方法的重载版本,还是有其他方法来处理这个问题?