私の理解では、既存の COM オブジェクトを集約する COM オブジェクトを構築することは、外部オブジェクトの IUnknown.QueryInterface メソッドにリダイレクト ロジックを実装することを意味します。
私が持っている質問は、あなたが構築しているオブジェクトが管理されている場合、それを行う方法です。マネージド オブジェクトでは、IUnknown は明示的に実装されていません。COM Interop がそれを行います。では、作成するオブジェクトが別の COM オブジェクトの集合体であることを COM Interop に伝えるにはどうすればよいでしょうか。
これまでのところ、私が見つけた唯一の方法は、内部オブジェクトのすべてのインターフェースを外部オブジェクトに実装し、それらを明示的にリダイレクトすることです。これは a) 醜く、b) 実装するすべてのインターフェイスを知っていることを前提としていますが、私の状況ではそうではありません。
何かご意見は?