![]() |
#4 |
Участник
|
тогда делюсь фишкой, которая поможет просматривать в отладчике контейнерные объекты
отладчик умеет показывать содержимое переменной-контейнера, принадлежащей классу. однако, производительность катастрофически уменьшится, если мы будем постоянно обновлять контейнер при работе с объектом. поэтому: 1. объявляем переменную-контейнер внутри класса 2. обновляем эту переменную в методе toString 3. в отладчике получаем возможность просматривать содержимое контейнерного объекта (например, SysRecordSortedlist) 4. Profit X++: // This is a framework class. Customizing this class may cause problems with future upgrades to the software. class SysRecordSortedList extends RecordSortedList { tableId tableId; Container records; } X++: public str toString() { str ret; records = this.pack(); ret = strfmt("%1: %2", this.len(), super()); return ret; } по аналогии можно сделать классы обертки для map, list, set и и прочих контейнеров. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (5). |
Теги |
debugger, tostring, законченный пример, отладка, отладчик, полезное |
|
|