⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testgenericmethods1.out

📁 格式化源码的最新板
💻 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 + -