実際、ほとんどの場合tlbimp がインターフェイスを coclass に変換する機能です。具体的には、IDL にある場合
interface IFirst {
}
interface ISecond {
HRESULT GetFirst( IFirst** );
}
coclass First {
interface IFirst;
}
tlbimp は、それが実装する唯一のクラスであることを確認するためFirst、IFirst.NET インターフェイスを作成します。interface IFirstclass First
interface ISecond {
First GetFirst(); // co-class returned, not interface
}
これはおそらく何らかの方法で役立ちます。
これはどのように役立つでしょうか?class Firstとにかく同じメソッドを持つことになるためinterface IFirst、何も追加されないため、その変換がなければ、interface IFirstどこにでも渡してまったく同じ効果を得ることができます。この変換の用途は何ですか?