testgenericoperatoris.out

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

OUT
87
字号
program testgenericoperatoris;{$APPTYPE CONSOLE}

uses
  SysUtils,
  Classes;

type
  maclasse<t> = class
    unchamp: t;
    procedure test<x>;
    procedure test2<x>;
    procedure test3<x:
    constructor>;
  end;
  nullinteger = system.nullable<integer>;

  procedure maclasse<t>.test<x>;
  var
    variable: x;
  begin
    writeln;
    Write(#9 + 'Le test sur X<', typeof(x), '> is T<', typeof(t), '> est ');
    if TObject(variable) is t then
      writeln('Vrai')
    else
      writeln('Faux');
    if assigned(TObject(variable)) then
      writeln(#9 + 'assigned(Variable) =Vrai')
    else
      writeln(#9 + 'assigned(Variable)=Faux');
  end;

  procedure maclasse<t>.test2<x>;
  var
    variable: x;
  begin
    if assigned(TObject(variable)) then
      variable := default(x);
    writeln;
    Write(#9 + 'Le test sur X<', typeof(x), '> is T<', typeof(t), '> est ');
    if TObject(variable) is t then
      writeln('Vrai')
    else
      writeln('Faux');
  end;

  procedure maclasse<t>.test3<x>;
  var
    variable: x;
  begin
    writeln;
    Write(#9 + 'Le test sur X<', typeof(x), '> is T<', typeof(t), '> est ');
    variable := x.Create;
    if TObject(variable) is t then
      writeln('Vrai')
    else
      writeln('Faux');
    if assigned(TObject(variable)) then
      writeln(#9 + 'assigned(Variable) =Vrai')
    else
      writeln(#9 + 'assigned(Variable)=Faux');
  end;

  procedure test(resultat: boolean);
  begin
    if resultat then
      writeln('Vrai')
    else
      writeln('Faux');
  end;

var
  classe1: maclasse<TObject>;
  classe2: maclasse<system.nullable<integer>>;
  classe3: maclasse<integer>;
  varnull: nullinteger;
  objet:   TObject;
  int:     integer;
begin
  try
    writeln('Test pour la variable varNull = null');
    varnull := default(system.nullable<integer>);
    test(varnull is nullinteger);
    varnull := 10;
    test(varnull is nullinteger);
    writeln(
      'Test pour la variable Objet 

⌨️ 快捷键说明

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