testgenerics2.out

来自「格式化源码的最新板」· OUT 代码 · 共 59 行

OUT
59
字号
unit TestGenerics2;


{ AFS November 2007 

  This code compiles, but is not semantically meaningfull.
  It is test cases for the code-formating utility

  Test new generics syntax - like TestGenerics, but all generics have 2 params
}


interface

uses
  SysUtils;

type
  TGenericType<AnyType1, AnyType2> = class
    FData: AnyType;
    function GetData: AnyType;
    procedure SetData(Value: AnyType);
    property Data: AnyType Read GetData Write SetData;
  end;

implementation

function TGenericType<AnyType1, AnyType2>.GetData: AnyType;
begin
  Result := FData;
end;

procedure TGenericType<AnyType1, AnyType2>.SetData(Value: AnyType);
begin
  FData := Value;
end;

type
  TGenericTypeInt = TGenericType<integer, integer>;

var
  I: TGenericTypeInt;

initialization
  try
    with TGenericType<integer, integer>.Create do
      Data := 100;

    I      := TGenericTypeInt.Create;
    I.Data := 100;
    WriteLn(I.Data);

    ReadLn;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?