Forum: Object-Pascal / Delphi-Language
by Stevie,
13. Sep 2010
Logisch, wenn du keine Instanz davon hast, oder?
type
TFoo = class
private
FCaption: string;
public
procedure Bar;
property Caption: string read FCaption write FCaption;
end;
Forum: Object-Pascal / Delphi-Language
by Stevie,
13. Sep 2010
Und seit wann hat TObject ne Methode namens Test?
type
TFoo = class
procedure Test;
end;
TFoo2<T: TFoo> = class
procedure DoTest;
end;
Forum: Object-Pascal / Delphi-Language
by Stevie,
13. Sep 2010
Das stimmt nicht. Sofern du einen Constraint setzt, kannst du innerhalb der Methoden deiner Klasse problemlos auf Eigenschaften und Methoden des generischen Typs zugreifen, du musst nur unter Umständen T auf deine Klasse/Interface umcasten.
Beispiel:
type
TFoo<T: class, constructor> = class
function CreateNewObject: T;
procedure FreeAndNil(var AObject: T);
function...
Forum: Object-Pascal / Delphi-Language
by Stevie,
13. Sep 2010
Type constraints kannst du in Delphi nur auf Interfaces oder Klassen angeben (glaub zusätzlich noch den "Muss constructor besitzen" Constraint, sonst fällt mir keiner ein) sonst nix. Das geht (wenn überhaupt, ich mach nicht viel damit) in .Net nur, weil alles ein object ist.
Mach entweder 2 oder mehrere Klassen aus dem Teil, welche ganz klar die Stringtypen abgrenzen oder schmeiß bestimmte...