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

📄 testgenericconstraints.out

📁 格式化源码的最新板
💻 OUT
字号:
program TestGenericConstraints;

{$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,
  Classes;

type
  Couleurs = (Rouge, Noir, Vert);

  IMonInterface = interface
    procedure FaitqqChose;
  end;

  TClasseMonInterface = class(TObject, IMonInterface)
    procedure FaitqqChose;
  end;

  TEnregistrement = record //Record non g閚閞ique (peut impl閙enter des interfaces)
  end;

  TGenericEnregistrement<T> = record
    //Record g閚閞ique, attend un param鑤re de type non contraint (de tout type)
    Data: T;
  end;


  TGenericClass<R:record> = class
    //Contrainte record sur une classe, attend un param鑤re de type d'un type valeur
    Champ: R;
  end;


  TGenericRecord<C:class> = record
    //Contrainte class sur un enregistrement, attend un param鑤re de type du type Classe
    MaClasse: C;
  end;

  TGenericClass2<C:class> = class
    //Contrainte class sur une classe , attend un param鑤re de type du type Classe
    Valeur: C;
  end;


  TGenericRecord2<C:TList> = record
    //Contrainte sur une classe anc阾re, attend un param鑤re de type du type TList et d関ir閑
    MaClasse: C;
  end;

  TGenericRecord3<C:class,
constructor> = record //Les contraintes peuvent 阾re coupl閑s.
    MaClasse: C;
  end;


  //TGenericClass2<U:TEnregistrement>=Class; //E2510 Le type TEnregistrementn'est pas une contrainte valide
  //Pas d'h閞itage pour les record sous .NET. Un record est un type valeur

  //TGenericClass2<U:TGenericClass<R:Record>>=Class // E2003: Identificateur non d閏lar

⌨️ 快捷键说明

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