我有一个奇怪而令人沮丧的问题。我有一个活动正在这样做:
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',然后对其进行深入研究,然后再深入进行“位置”,那么我将看到期望的属性。
如果我在手表中键入“ e.Location”,则手表的输出为空白(不说为空)。另外,当我这样做时,我注意到在输出窗口中,我得到了这个重复的异常文本,该文本重复了十次:
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 \ external \ NRefactory \ ICSharpCode.NRefactory.CSharp \ Ast \ Expressions \ MemberReferenceExpression.cs:line 105点 Mono.Debugging.Evaluation.NRefactoryExpressionEvaluator.Evaluate(EvaluationContext ctx,字符串表达式,Object ExpectedType) E:\ A_work \ 785 \ s \ external \ debugger-libs \ Mono.Debugging \ Mono.Debugging.Evaluation \ NRefactoryExpressionEvaluator.cs:line 82点 Mono.Debugging.Evaluation.ObjectValueAdaptor.GetExpressionValue(EvaluationContext ctx,字符串表达式)在 E:\ A_work \ 785 \ s \ external \ debugger-libs \ Mono.Debugging \ Mono.Debugging.Evaluation \ ObjectValueAdaptor.cs:line 1411
我在另一个项目中也使用过类似的代码,但是没有发生这种奇怪的事情。 关于发生的事情以及如何解决的任何想法?
答案 0 :(得分:0)
在与另一位开发人员讨论此问题大约两天后,我发现我正在使用的ESRI库在两个不同的命名空间中具有类GeoViewInputEventArgs。这些类必须相同或非常接近相同。因此,切换到正确的名称空间后,它现在可以按预期工作。我真的不知道为什么有人会在他们的库中使用相同的类名。