Вниз
Скачать: CL | DM;

Как можно сравнить два объекта?   Найти похожие ветки 

 
Кевларвестов Семен   (2007-02-22 12:32) [0]

Добрый день! В TObjectList грузится некторые объекты (одинаковые)
Можно ли как то сделать проверку, чтобы туда не попадали одинаковые.
(С одинаковыми свойствами), собственно, что не проверять каждый из параметров.
Думал сработает TobjectList.IndexOf(SomeObject), но она постоянно выдает -1. Может можно взять какую-нить так хэш функцию от объекта или еще как то их "быстро" сравнить?


 
TUser ©   (2007-02-22 14:09) [1]

Можно быстро проверить все published свойства.


 
Ega23 ©   (2007-02-22 14:13) [2]

Проверить значение указателя не объект. Если они отличаются - значит объекты УЖЕ разные.


 
Kolan ©   (2007-02-22 14:20) [3]

> В TObjectList грузится некторые объекты (одинаковые)

В некоторых объектах реализовать процедуру
function IsSame(AObjectLikeMe: TSomeObbject): Boolean;
и проверять при добавлении с помощью неё...

А еще можно перекрыть оператор "="


 
Kolan ©   (2007-02-22 14:20) [4]

> А еще можно перекрыть оператор "="

Наверно :) Я не пробовал...


 
default ©   (2007-02-22 14:21) [5]

в .NET у базового класса Object определён метод Equals который в своеё базовой реализации сравнивает сначала ссылки ссылки не объекты, потом типы объектов, потом уже данные



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
15-1172123463
Брюнетка
2007-02-22 08:51
2007.03.18
С Днем Защитника Отечества!


2-1172588870
Kolan
2007-02-27 18:07
2007.03.18
Настройик одного проекта появляются во всех новых.


3-1166333938
Новичек
2006-12-17 08:38
2007.03.18
Получение уведомлений от SQL-сервера об изменениях.


15-1172157612
Tirael
2007-02-22 18:20
2007.03.18
PC Probe


2-1172090405
Kyau
2007-02-21 23:40
2007.03.18
Позиция курсора в TEdit




   Наверх