Question

J'ai créé la classe simple suivante dans mon code et je reçois "TObject est pas une contrainte valide" message d'erreur.

  TTest = class
    class function Test<T:TObject>(Dummy: integer): string;
  end;
  ... 
  class function TTeste.Teste<T>(Dummy: integer): string;
  begin
    Result := 'Compiled';
  end;

Qu'est-ce que je fais mal? Est-ce possible? (Vous pouvez inclure l'option disponible sur les versions ultérieures que D2010, puisque nous allons recevoir nos XE2 licences dans les 2 prochaines semaines).

Était-ce utile?

La solution

Essayez la contrainte class:

TTest = class
  class function Test<T:class>(Dummy: integer): string;
end;

Il pourrait ne pas accepter que les classes normales, mais aussi des interfaces avec cette contrainte (en C #, il fait, et les génériques Delphi imiter C # génériques).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top