pascalabcnet/TestSuite/extensionmethods6.pas
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

29 lines
514 B
ObjectPascal

uses System, System.Collections.Generic;
var r: Random;
var ir: IReadOnlyCollection<integer>;
procedure p(x: integer);
begin
assert(x=3);
end;
procedure IEnumerable<T>.For_Each1(p: System.Action<T>);
begin
foreach x: T in Self do
p(x);
end;
function IEnumerable<T>.Print1: IEnumerable<T>;
begin
foreach x: T in Self do;
Result := Self;
end;
begin
var a: array of integer := new integer[3](3,3,3);
var pp: System.Action<integer> := p;
a.For_Each1(p);
a.For_Each1(pp);
a.Print1;
end.