pascalabcnet/TestSuite/intellisense_tests/extensionmethods1.pas

12 lines
940 B
ObjectPascal
Raw Permalink Normal View History

2016-05-29 13:16:22 +03:00
//ä
begin
2017-02-12 16:48:22 +03:00
var l{@var l: sequence of integer;@} := Seq(2,1,4);
l.OfType&<integer>().ForEach{@(расширение sequence of T) procedure ForEach<T>(action: T->());@}(x->Print(x));
2016-05-29 15:39:14 +03:00
var l1 := new List<integer>;
2017-02-12 16:48:22 +03:00
var seq1{@var seq1: sequence of integer;@} := l1.Where{@(расширение sequence of T) function Where<integer>(predicate: integer->boolean): sequence of integer;@}(i->true);
2016-05-29 15:39:14 +03:00
var l2 := l1.ConvertAll&{@function List<>.ConvertAll<TOutput>(converter: Converter<integer,TOutput>): List<TOutput>;@}<real>();
2018-08-09 15:14:35 +03:00
l2{@var l2: List<real>;@}.Add(23);
2017-02-12 16:48:22 +03:00
var seq2{@var seq2: sequence of integer;@} := l1.Skip{@(расширение sequence of T) function Skip<integer>(count: integer): sequence of integer;@}(3);
2018-08-09 15:14:35 +03:00
var seq3 := l1.OrderBy(i->i).Skip{@(расширение sequence of T) function Skip<integer>(count: integer): sequence of integer;@}(3);
seq3{@var seq3: sequence of integer;@}.ToString();
2016-05-29 13:16:22 +03:00
end.