mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-07 15:12:40 +02:00
30 lines
435 B
ObjectPascal
30 lines
435 B
ObjectPascal
program TGeneric2;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
type
|
|
generic TList<T> = class(TObject)
|
|
data : T;
|
|
procedure Add(item: T);
|
|
end;
|
|
|
|
procedure TList.Add(item: T);
|
|
var
|
|
i : integer;
|
|
begin
|
|
{ The next line should fail for TList(string) }
|
|
i:=item;
|
|
data:=item;
|
|
end;
|
|
|
|
type
|
|
TMyStringList = specialize TList<string>;
|
|
|
|
var
|
|
slist : TMyStringList;
|
|
begin
|
|
slist := TMyStringList.Create;
|
|
slist.Add('Test');
|
|
writeln(slist.data);
|
|
end.
|