Ist möglich, eine generische eingeschränkte Methode zu erstellen?
-
27-10-2019 - |
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.)
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