Методы расширения: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
м (Новая: == Ссылки == *Особенности языка: продвинутый уровень *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalAB...)
 
Нет описания правки
 
Строка 1: Строка 1:
Можно расширить любой тип невиртуальными методами.
<source lang="Delphi">procedure integer.Hello;
begin
  writeln(Self);
end;
type iarr = System.Array;
procedure iarr.Hello;
begin
  foreach x: integer in Self do
    write(x,' ');
end; 
begin
  var i: integer := 777;
  i.Hello;
  var a: array of integer := (1,3,5);
  a.Hello;
end.</source>
== Ссылки ==
== Ссылки ==
*[[Особенности языка: продвинутый уровень]]
*[[Особенности языка: продвинутый уровень]]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]

Текущая версия от 10:26, 16 января 2010

Можно расширить любой тип невиртуальными методами.

procedure integer.Hello;
begin
  writeln(Self);
end;

type iarr = System.Array;

procedure iarr.Hello;
begin
  foreach x: integer in Self do
    write(x,' ');
end;  

begin
  var i: integer := 777;
  i.Hello;
  var a: array of integer := (1,3,5);
  a.Hello;
end.

Ссылки