Einzelnen Beitrag anzeigen

Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Method-Resolution Clause bei Interface-Vererbung

  Alt 15. Aug 2019, 11:36
Dein IMyInterfaceEx hat durch die Vererbung jetzt 2 Methoden mit dem Namen getNumber . Das soll so sein?

Das ist auf jeden Fall das, was dem Compiler zu schaffen macht.

Such dazu mal nach IEnumerable vs. IEnumerable<T> . Da hast du das gleiche Problem.

Das hier geht ohne Probleme
Delphi-Quellcode:
type
  IMyInterface = interface
    ['{C67ABDD4-94F0-477D-92FE-A1EC7E790153}']
    function GetNumber(): Integer;
  end;

  IMyInterfaceEx = interface
    ['{4675F531-90C2-48D2-85EB-21EA1A6E063B}']
    function GetNumber(): Single;
  end;

  TMyObject = class(TInterfacedObject, IMyInterface, IMyInterfaceEx)
  private
    function GetIntegerNumber(): Integer;
    function IMyInterface.GetNumber = GetIntegerNumber;

    function GetSingleNumber(): Single;
    function IMyInterfaceEx.GetNumber = GetSingleNumber;
  end;

Geändert von Schokohase (15. Aug 2019 um 11:38 Uhr)
  Mit Zitat antworten Zitat