Во время проверки, присутствует ли камера и включена ли она на моем мобильном устройстве с Windows, я столкнулся с чем-то, чего я не понимаю.
Код выглядит так:
public static bool CameraP(){
return Microsoft.WindowsMobile.Status.SystemState.CameraPresent;
}
public static bool CameraE()
{
return Microsoft.WindowsMobile.Status.SystemState.CameraEnabled;
}
public static bool CameraPresent1()
{
return Microsoft.WindowsMobile.Status.SystemState.CameraPresent
&& Microsoft.WindowsMobile.Status.SystemState.CameraEnabled;
}
public static bool CameraPresent2()
{
return CameraP() && CameraE();
}
Когда я звоню CameraPresent2()
, возвращается false (камеры нет). Но когда я вызываю CameraPresent1()
, я получаю исключение MissingMethodException с комментарием «Не удалось найти метод: get_CameraEnabled Microsoft.WindowsMobile.Status.SystemState.»
Второй термин оценивается в CameraPresent1
только потому, что они оба являются свойством (на уровне языка)?
Есть ли что-нибудь еще, что объясняет разницу в поведении?