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