Frage

Ich habe die folgende einfache Klasse in meinem Code erstellt und bekomme "Tobject ist keine gültige Einschränkung" Fehlermeldung.

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

Was mache ich falsch? Ist das möglich? (Sie können die Option für spätere Versionen als D2010 einfügen, da wir unsere XE2 -Lizenzen in den nächsten 2 Wochen erhalten.)

War es hilfreich?

Lösung

Versuchen Sie das class Zwang:

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

Es akzeptiert möglicherweise nicht nur normale Klassen, sondern auch Schnittstellen mit dieser Einschränkung (in C# und Delphi Generics imitieren C# Generika).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top