pascalabcnet/TestSuite/extensionmethods29.pas

17 lines
292 B
ObjectPascal
Raw Permalink Normal View History

2018-05-21 13:04:57 +03:00
type
A = class end;
var i: integer;
procedure D<T>(self: T; var a: T); extensionmethod;begin i := 1 end;
procedure D(self: A; var b: A; var c: A); extensionmethod;begin i := 2 end;
begin
var t := new A;
var b, c: A;
t.D(b);
assert(i = 1);
t.D(b, c);
assert(i = 2);
end.