Flutter: Как проверить, является ли объект экземпляром класса (виджет с состоянием или без состояния) - PullRequest
0 голосов
/ 30 мая 2018

Я разработчик Android, пытающийся научиться трепетать.Я застрял в проверке, является ли объект экземпляром класса (виджет с состоянием или без состояния) или нет.

В Java мы используем как

if (object instanceOf MyClass) {
   // object is an instance of MyClass
} else {
   //  object is not an instance of MyClass
}

Но я незнаю, как это сделать во флаттере.

Пока я пробовал,

if (object is MyClass) {
   // object is an instance of MyClass
} else {
   //  object is not an instance of MyClass
}

, но это всегда неверно.

Я видел другой возможный способделаю это new isInstanceOf<MyClass>(), которое доступно в пакете package:matcher/matcher.dart, но я не знаю, как правильно его реализовать.

Любая помощь будет отличной.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

is отлично работает с классами Widget.Например, у меня есть виджет

class AccountCreationPage extends StatefulWidget {...}

Затем я могу проверить, что моя переменная типа Widget относится к классу AccountCreationPage (дает true, если это действительно этот класс):

_loginPage is AccountCreationPage ? 'Creation' : ""
0 голосов
/ 30 мая 2018

Попробуйте использовать отладку класса вашего объекта:

debugprint("$<object name>");

А затем вручную сопоставьте типы классов.

Это означает, что вы найдете необходимый класс для оператора is.

object is <object's class>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...