🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
6 messages
6 total messages Started by Marcin G. Thu, 14 Feb 2019 11:10
Funkcja z parametrem typu TObjectList<T>.
#346926
Author: Marcin G.
Date: Thu, 14 Feb 2019 11:10
14 lines
1352 bytes
Jak zrobić w Delphi XE coś takiego:
function AddObjectList(AGenericObjectList: TObjectList<T>): Boolean;

zrobiłem tak:
function AddObjectList(AGenericObjectList: TObjectList<TObject>): Boolean;

ale nie podoba mi się, że muszę rzutować moją listę obiektów na 
TObjectList<TObject>
Po prostu funkcja powinna przyjmować jako parametr listę obiektów dowolnego 
typu.


Pozdrawiam,
Marcin G.
Re: Funkcja z parametrem typu TObjectList<T>.
#346927
Author: Roman Tyczka
Date: Thu, 14 Feb 2019 11:39
20 lines
1450 bytes
On Thu, 14 Feb 2019 12:10:50 +0100, Marcin G. wrote:

> Jak zrobić w Delphi XE coś takiego:
> function AddObjectList(AGenericObjectList: TObjectList<T>): Boolean;
> 
> zrobiłem tak:
> function AddObjectList(AGenericObjectList: TObjectList<TObject>): Boolean;
> 
> ale nie podoba mi się, że muszę rzutować moją listę obiektów na 
> TObjectList<TObject>
> Po prostu funkcja powinna przyjmować jako parametr listę obiektów dowolnego 
> typu.

Po co do tego generyki? Nie możesz po prostu użyć samego TObjectList?

function AddObjectList(AGenericObjectList: TObjectList): Boolean;

-- 
pozdrawiam
Roman Tyczka
Re: Funkcja z parametrem typu TObjectList<T>.
#346928
Author: Marcin G.
Date: Thu, 14 Feb 2019 12:01
18 lines
1534 bytes
Użytkownik "Roman Tyczka"  napisał w wiadomości grup 
dyskusyjnych:4bs1g7phb19i$.dlg@tyczka.com...

> Po co do tego generyki? Nie możesz po prostu użyć samego TObjectList?
>
> function AddObjectList(AGenericObjectList: TObjectList): Boolean;
>
> -- 
> pozdrawiam
> Roman Tyczka


Mam już trochę tych list generycznych i nie chcę tego przerabiać.
Funkcja, a w zasadzie metoda ma być uniwersalna.


Pozdrawiam,
Marcin G.
Re: Funkcja z parametrem typu TObjectList<T>.
#346929
Author: Roman Tyczka
Date: Thu, 14 Feb 2019 13:57
24 lines
1552 bytes
On Thu, 14 Feb 2019 13:01:07 +0100, Marcin G. wrote:

> Użytkownik "Roman Tyczka"  napisał w wiadomości grup 
> dyskusyjnych:4bs1g7phb19i$.dlg@tyczka.com...
> 
>> Po co do tego generyki? Nie możesz po prostu użyć samego TObjectList?
>>
>> function AddObjectList(AGenericObjectList: TObjectList): Boolean;
>>
> 
> Mam już trochę tych list generycznych i nie chcę tego przerabiać.
> Funkcja, a w zasadzie metoda ma być uniwersalna.

To możesz to zrobić jakoś tak:

function Add<T: class>(const aList : TObjectList<T>): Integer;

i potem gdzieś w kodzie:

lista.Add<TMojObiekt>(ListaObiektowMojObiekt);

-- 
pozdrawiam
Roman Tyczka
Re: Funkcja z parametrem typu TObjectList<T>.
#346930
Author: wloochacz
Date: Tue, 19 Feb 2019 13:41
6 lines
1216 bytes
W dniu 14.02.2019 o 14:57, Roman Tyczka pisze:
> function Add<T: class>(const aList : TObjectList<T>): Integer;
Po co ten const tutaj?

-- 
wloochacz
Re: Funkcja z parametrem typu TObjectList<T>.
#346931
Author: Roman Tyczka
Date: Tue, 19 Feb 2019 14:58
10 lines
1151 bytes
On Tue, 19 Feb 2019 14:41:12 +0100, wloochacz wrote:

>> function Add<T: class>(const aList : TObjectList<T>): Integer;
> Po co ten const tutaj?

nawyk

-- 
pozdrawiam
Roman Tyczka
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads