J'ai un framework de persistance, et j'essaie d'utiliser des génériques pour ne pas avoir à créer de nouvelles classes de listes pour chaque type d'objet que je veux stocker de manière sûre. .Référence de classe de la classe de paramètre générique
J'ai une méthode qui retourne la classe de l'objet contenu dans la classe de liste (donc je sais que l'exécution des requêtes et ayant pour objet de créer
À titre d'exemple, il ressemble à ceci:
type
TMyObject = class
end;
TMyObjectClass = class of TMyObject;
TMyObjectList = class
public
function ListClass: TMyObjectClass; virtual; abstract;
end;
TMyObjectList<T: TMyObject, constructor> = class(TMyObjectList)
public
function ListClass: TMyObjectClass; override;
end;
implementation
{ TMyObjectList<T> }
function TMyObjectList<T>.ListClass: TMyObjectClass;
begin
result := T; // <==== this wont compile
end;
end.
est-il un moyen de retourner la classe du paramètre générique dans ce cas?
Merci
N @ (en utilisant Delphi 2009)
Vous. Sont. Une légende. Merci! Je ne peux pas attendre pour obtenir 2010 (devrait être demain, yay!). – Nat
Cool! Le RTTI amélioré rendra la persistance beaucoup plus facile, BTW. :) –