35 lines
609 B
ObjectPascal
35 lines
609 B
ObjectPascal
var i: integer;
|
|
j: integer;
|
|
|
|
type
|
|
TRec = record
|
|
end;
|
|
|
|
TExample<T> = class
|
|
event f: Action<T>;
|
|
event f2: Action<List<T>>;
|
|
constructor Create();
|
|
begin
|
|
f += procedure (x) -> begin i := 1; end;
|
|
f2 += procedure (x) -> begin j := 1; end;
|
|
end;
|
|
procedure raiseevent;
|
|
begin
|
|
f(default(T));
|
|
f2(new List<T>);
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
var o: TExample<integer>;
|
|
o := new TExample<integer>();
|
|
o.raiseevent;
|
|
assert(i = 1);
|
|
assert(j = 1);
|
|
i := 0;
|
|
j := 0;
|
|
var o2 := new TExample<TRec>;
|
|
o2.raiseevent;
|
|
assert(i = 1);
|
|
assert(j = 1);
|
|
end. |