📄 testgenericmethods1.out
字号:
program TestGenericMethods1;
{$APPTYPE CONSOLE}
{ AFS December 2007
This code compiles, but is not semantically meaningfull.
It is test cases for the code-formating utility
Test new generics syntax - code from TridenT
}
uses
SysUtils;
type
// m閠hode g閚閞ique sur une classe g閚閞ique
TGenericType<AnyType> = class
FData: AnyType;
function GetData: AnyType;
//ici l'usage d'Anytype g閚鑢e le warning :
// H2509 Identificateur 'AnyType' en conflit avec les param鑤res type du type conteneur
procedure UneMethodeGenerique<AnyType>(Variable: AnyType);
function UneFonctionGenerique<AnyType>: AnyType;
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=',Variable); //E2054 cast obligatoire pour Writeln
Writeln('Default pour AnyType=', TObject(Variable).ClassName, '=', TObject(Variable));
Writeln(TObject(Variable).ClassName);
end;
function TGenericType<AnyType>.UneFonctionGenerique<AnyType>: AnyType;
var
Variable: AnyType;
begin
//Result := AnyType; //'(' attendu mais ';' trouv
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -