我的MKAnnotation annotation对象有一个名为IsEmergency的变量,但是当我运行此代码时:

 if (annotation.IsEmergency == "0")
        {
            //doStuff();
        }


我收到我的annotation对象不包含IsEmergency定义的错误。

c# - Xamarin C#-IMKAnnotation不包含'x'的定义-LMLPHP

在我提供的屏幕截图中,您可以看到我的对象包含此变量。

这是完整的错误:

Severity    Code    Description Project File    Line    Suppression State
Error   CS1061  'IMKAnnotation' does not contain a definition for 'IsEmergency' and no extension method 'IsEmergency' accepting a first argument of type 'IMKAnnotation' could be found (are you missing a using directive or an assembly reference?)       270 Active

最佳答案

该地图委托方法开始传递一个IMKAnnotation,因此将其强制转换为您的MKAnnotation子类:

var myAnnotation = annotation as `YourMKAnnotationSubClass`;
if (myAnnotation?.IsEmergency == "0")
{
    //doStuff();
}

10-04 22:30