Различение экземпляров класса при отладке во Flutter / Dart - PullRequest
0 голосов
/ 18 ноября 2018

При отладке во Flutter или даже просто распечатывании объекта в виде строки, я не знаю, как можно различить разные экземпляры объекта.Глядя только на строку 9+ или проверку отладчика, сколько экземпляров Foo do f1, f2 и f3 представляют?

enter image description here

Напротив, в Java, например, каждый экземпляр печатается со своим адресом и его легко отличить.Даже если бы мы выполняли отладку в некотором коде, удаленном от строк 5-7, все равно было бы легко сказать, что присутствуют два экземпляра.

enter image description here

Я мог бы использовать «оценить выражение» во время отладки, чтобы вручную проверить на равенство, но это плохо масштабируется и быстро усложняется, если ссылки находятся в разных областях.

Есть ли другое решение, которое будет работать лучше?

1 Ответ

0 голосов
/ 18 ноября 2018

То, что вы видите в консоли, это метод toString().

Вы можете переопределить его, чтобы напечатать некоторую пользовательскую информацию.Большинство виджетов флаттера переопределяют его, например, для печати своих параметров.

Потенциальное переопределение будет при добавлении хэш-кода:

@override
String toString() {
  return super.toString() + " " + hashCode;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...