Delphiのレコードヘルパを試す

レコードヘルパはInteger型やString型などにメソッドを追加する機能。
試したのはDelphiXE4。2010以降の機能なのかな。

test_my_record_helper.dpr

program test_my_record_helper;

{$APPTYPE CONSOLE}

type
  TMyIntegerHelper = record helper for Integer
    function Add(X: Integer): Integer;
  end;

function TMyIntegerHelper.Add(X: Integer): Integer;
begin
  Result := Self + X;
end;

var
  Value: Integer;

begin
  Value := 10;
  Writeln(Value.Add(20));
end.

実行結果

>dcc32 test_my_record_helper.dpr
>test_my_record_helper.exe
30