Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
Delphi XE3 Enterprise
|
AW: Prüfen, ob eine Method überschriben wurde
12. Sep 2014, 22:47
Idee:
Delphi-Quellcode:
interface
type
TBaseClass = class
public
procedure DoSomething; virtual; abstract;
constructor Create;
end;
type
TWorkClass = class(TBaseClass)
public
procedure DoSomething; override;
end;
implementation
constructor TBaseClass.Create;
var
Impl: procedure of object;
Base: procedure of object;
varClass: TClass;
begin
Impl := DoSomething;
varClass := self.ClassType;
while (varClass <> nil) AND (varClass <> TBaseClass) do
varClass := varClass.ClassParent;
if (varClass <> nil) then
begin
Base := TBaseClass(@varClass).DoSomething;
if TMethod(Impl).Code <> TMethod(Base).Code then
begin
DoSomething;
end;
end;
end;
Geändert von Martin W (12. Sep 2014 um 23:12 Uhr)
|