Детонация: Как проверить, если объект является экземпляром класса (A отслеживания состояния или без гражданства виджета)

Обновить

April 2019

Просмотры

2k раз

2

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

В 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

is works perfect with Widget classes. For example I have a widget

class AccountCreationPage extends StatefulWidget {...}

Then I can check that my variable of type Widget is of AccountCreationPage class (gives true, if it is really this class):

_loginPage is AccountCreationPage ? 'Creation' : ""
2

Try using debugging your object's class:

debugprint("$<object name>");

And then manually match the class types.

That means that you will find out the needed class for the is operator.

object is <object's class>

Связанные вопросы