私は特定のインターフェイスのリストを取得するために継承したいインターフェイスのカスタムリストを宣言しようとしています(私はIInterfaceListを認識していますが、これは単なる例です)。私はDelphi 2007を使用しているので、実際のジェネリックにアクセスできない(同情します)。同じ名前のメソッドを持つ2つのインターフェイスを実装するにはどうすればよいですか?
ICustomInterfaceList = interface
procedure Add(AInterface: IInterface);
function GetFirst: IInterface;
end;
TCustomInterfaceList = class(TInterfacedObject, ICustomInterfaceList)
public
procedure Add(AInterface: IInterface);
function GetFirst: IInterface;
end;
ISpecificInterface = interface(IInterface)
end;
ISpecificInterfaceList = interface(ICustomInterfaceList)
function GetFirst: ISpecificInterface;
end;
TSpecificInterfaceList = class(TCustomInterfaceList, ISpecificInterfaceList)
public
function GetFirst: ISpecificInterface;
end;
TSpecificInterfaceListがコンパイルされません:私は推測 'のGetFirst' 異なっの
E2211宣言を宣言からインタフェースで 'ISpecificInterfaceList'
ここ
は簡略化した例であります私は理論的にTCustomInterfaceListを使うことができましたが、私はそれを使うたびに "GetFirst"をキャストしたくありません。私の目標は、基本クラスの動作を継承し、 "GetFirst"をラップする特定のクラスを持つことです。どうすればこの問題を解決できますか?
ありがとうございます!
[インターフェイス名を別のメソッド名にマップする方法](http://stackoverflow.com/questions/1390552/how-to-map-interface-names-to-different-method-names) – RFerwerda