unit uw28442; {$MODE DELPHI}{$H+} interface type TEqualityComparer = class public class function Construct: TEqualityComparer; function Test: Boolean; virtual; abstract; end; TDelegatedEqualityComparerEvents = class(TEqualityComparer) public function Test: Boolean; override; end; implementation class function TEqualityComparer.Construct: TEqualityComparer; begin Result := TDelegatedEqualityComparerEvents.Create; end; function TDelegatedEqualityComparerEvents.Test: Boolean; begin Result := False; end; end.