![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
if Assigned(Self) then Result := FList else Result := EmptyList;
GuAV © (2005-12-31 14:10:00)С наступающим, товарищи !
А вопрос такой: если существует много кода использования свойства объекта с предварительной проверкой объекта на неравенство nil, стоит ли вынести эту проверку в метод чтения св-ва ? Св-во возвращает TList, поэтому можно заранее создать пустой список для возвращения в этом случае...
GuAV (2006-01-03 19:31:00) [1]Ясно. Спасибо.
Leonid Troyanovsky (2006-01-03 15:52:00) [2]
> GuAV © (01.01.06 18:29) [2]
> Стоит ли делать так:
> procedure TSomeObject.GetList
> begin
> if Assigned(Self) then
> Result := FList
> else
> Result := EmptyList;
> end;
Так, IMHO, выглядит пароноидально. Т.е., в любом случае,
пользование свойствами несозданного объекта не должно
быть безнаказанным.
С другой стороны, использование объектных ссылок должно
предусматривать if Assigned(..) в сочетании с к.л. реализацией
механизма Notification.
--
Regards, LVT.
GuAV (2006-01-01 18:29:00) [3]
> Вообще-то, в случае создания списка при создании
>объекта
>проверок можно избежать.
> Т.е., оный список будет существовать всегда.
Это и так соблюдается.
Я видимо не ясно выразился.
Покажу на примере:
Имеем:
proceudre MainForm.SomeEvent(Sender: TObject);
begin
if FObject <> nil then
with FObject.List do
...
end;
где
property List: TList read FList;
Стоит ли делать так:
proceudre MainForm.SomeEvent(Sender: TObject);
begin
with FObject.List do
...
end;
где
property List: TList read GetList;
procedure TSomeObject.GetList
begin
if Assigned(Self) then
Result := FList
else
Result := EmptyList;
end;
?
Leonid Troyanovsky (2006-01-01 14:46:00) [4]
> GuAV © (31.12.05 14:10)
> А вопрос такой: если существует много кода использования
> свойства объекта с предварительной проверкой объекта на
> неравенство nil, стоит ли вынести эту проверку в метод чтения
> св-ва ? Св-во возвращает TList, поэтому можно заранее создать
> пустой список для возвращения в этом случае...
Вообще-то, в случае создания списка при создании объекта
проверок можно избежать.
Т.е., оный список будет существовать всегда.
--
Regards, LVT.