У меня странная и неприятная проблема. У меня есть событие, которое делает это:
private async void EsriMap_GeoViewTapped(object sender, GeoViewInputEventArgs e)
{
if(e.Location == null)
{
// The code always goes into this if statement
// it is acting like a null
bool b = true;
}
}
Мой код xaml выглядит так:
<esri:MapView x:Name="SiteMapView"
Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="5"
Map="{ Binding Map }"
GeoViewTapped="EsriMap_GeoViewTapped"
GraphicsOverlays="{Binding GraphicsOverlays}" />
Но если я смотрю в часы и набираю 'e', а затем углубляюсь в них, а затем углубляюсь в Location, я вижу ожидаемые свойства.
Если я наберу 'e.Location' в часах, результат будет пустым (не будет нулевым). Также, когда я сделал это, я заметил, что в окне вывода я получаю этот повторяющийся текст исключения, который повторяется примерно 10 раз:
System.ArgumentException: поле 'k__BackingField' не является
действителен для этого типа. в
Mono.Debugger.Soft.ObjectMirror.GetValues (IList 1 fields) in
E:\A\_work\785\s\external\debugger-libs\Mono.Debugger.Soft\Mono.Debugger.Soft\ObjectMirror.cs:line
93 at Mono.Debugger.Soft.ObjectMirror.GetValue(FieldInfoMirror
field) in
E:\A\_work\785\s\external\debugger-libs\Mono.Debugger.Soft\Mono.Debugger.Soft\ObjectMirror.cs:line
74 at Mono.Debugging.Soft.FieldValueReference.get_Value() in
E:\A\_work\785\s\external\debugger-libs\Mono.Debugging.Soft\FieldValueReference.cs:line
129 at Mono.Debugging.Evaluation.ValueReference.GetChild(String
name, EvaluationOptions options) in
E:\A\_work\785\s\external\debugger-libs\Mono.Debugging\Mono.Debugging.Evaluation\ValueReference.cs:line
274 at
Mono.Debugging.Evaluation.NRefactoryExpressionEvaluatorVisitor.VisitMemberReferenceExpression(MemberReferenceExpression
memberReferenceExpression) in
E:\A\_work\785\s\external\debugger-libs\Mono.Debugging\Mono.Debugging.Evaluation\NRefactoryExpressionEvaluatorVisitor.cs:line
1042 at
ICSharpCode.NRefactory.CSharp.MemberReferenceExpression.AcceptVisitor[T](IAstVisitor
1
посетитель) в
E: \ A_work \ 785 \ s \ внешний \ NRefactory \ ICSharpCode.NRefactory.CSharp \ Аст \ Выражения \ MemberReferenceExpression.cs: линия
105 в
Mono.Debugging.Evaluation.NRefactoryExpressionEvaluator.Evaluate (EvaluationContext
ctx, строковое выражение, объект Ожидаемый тип) в
E: \ A_work \ 785 \ s \ внешних \ отладчик-ЛИЭС \ Mono.Debugging \ Mono.Debugging.Evaluation \ NRefactoryExpressionEvaluator.cs: линия
82 в
Mono.Debugging.Evaluation.ObjectValueAdaptor.GetExpressionValue (EvaluationContext
ctx, String exp) в
E: \ A_work \ 785 \ s \ внешних \ Debugger-Libs \ Mono.Debugging \ Mono.Debugging.Evaluation \ ObjectValueAdaptor.cs: линия
1411
Я также использовал подобный код в другом проекте, и у меня не было такой странной вещи.
Есть идеи, что происходит и как это исправить?