testgenericmethod.out
来自「格式化源码的最新板」· OUT 代码 · 共 72 行
OUT
72 行
program testgenericmethod;{$APPTYPE CONSOLE}
uses
SysUtils;
type
tgenerictype<anytype> = class
fdata: anytype;
function getdata: anytype;
procedure unemethodegenerique<anytype>(variable: anytype);
function unefonctiongenerique<anytype>: anytype;
procedure unemethode<t>(x, y: t);
procedure setdata(Value: anytype);
property Data: anytype Read getdata Write setdata;
end;
function tgenerictype<anytype>.getdata: anytype;
begin
Result := fdata;
end;
procedure tgenerictype<anytype>.setdata(Value: anytype);
begin
fdata := Value;
end;
procedure tgenerictype<anytype>.unemethodegenerique<anytype>(variable: anytype);
begin
variable := default(anytype);
writeln(TObject(variable).ClassName);
writeln('Default pour AnyType=', TObject(variable).ClassName, '=', TObject(variable));
writeln(TObject(variable).ClassName);
end;
function tgenerictype<anytype>.unefonctiongenerique<anytype>: anytype;
var
variable: anytype;
begin
variable := default(anytype);
writeln(TObject(variable).ClassName);
writeln('Default pour AnyType=', TObject(variable).ClassName, '=', TObject(variable));
Result := variable;
end;
procedure tgenerictype<anytype>.unemethode<t>(x, y: t);
begin
writeln(x.tostring, ' , ', y.tostring);
end;
type
tgenerictypeint = tgenerictype<integer>;
tgenerictypestring = tgenerictype<string>;
var
i: tgenerictypeint;
s: tgenerictypestring;
begin
try
i := tgenerictypeint.Create;
i.Data := 100;
i.unemethodegenerique(i.Data);
s := tgenerictypestring.Create;
s.
Data := 'Cha頽e de cract鑢es';
s.unemethodegenerique(s.Data);
s.unemethodegenerique<integer>(i.Data);
readln;
except
on e: Exception do
writeln(e.ClassName, ': ', e.message);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?