私は、各要素を反復処理し、 type の現在の項目である paramenter を使用してtMyList<B>
匿名プロシージャを呼び出すメソッド Each() を持つ一般的な List のようなクラスを持っています。ライフタイム管理を容易にするために、クラスをインターフェイスとして実装したいと考えています。tMyList<A>.enumProc
<B>
問題は、型が不明であるiMyList<A>
ため、インターフェイスでEach メソッドを宣言できないことです。tMyList<A>.enumProc
私の知る限り、インターフェイスはネストされた型をサポートしていませんか?
コードは次のとおりです。
tMyList<B> = class;
iMyList<A> = interface
procedure each(enumProcedure: iMyList<A>.enumProc); // ERROR - Undeclared identifier: 'enumProc'
end;
tMyList<B> = class(tInterfacedObject, iMyList<B>)
type
enumProc = reference to procedure(item: iMyList<B>);
public
procedure each(enumProcedure: enumProc);
end;
*
この特定のケースでは、列挙子の実装はオプションではありません