Показать сообщение отдельно
Старый 23.06.2011, 14:31   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
тогда делюсь фишкой, которая поможет просматривать в отладчике контейнерные объекты

отладчик умеет показывать содержимое переменной-контейнера, принадлежащей классу.
однако, производительность катастрофически уменьшится, если мы будем постоянно обновлять контейнер при работе с объектом.

поэтому:
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;
}
Недостаток - так стоит делать только в том случае, если метод toString используется не слишком часто в коде.

по аналогии можно сделать классы обертки для map, list, set и и прочих контейнеров.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 723
Размер:	19.4 Кб
ID:	6946  
Вложения
Тип файла: xpo Class_SysRecordSortedList.xpo (6.5 Кб, 576 просмотров)
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: S.Kuskov (5).