2
我有一個Windows運行時組件在我所有的類需要公開內部手柄:公共引用類在C++/CX實施內部接口
private interface class IHandleContainer {
IntPtr GetHandle();
}
namespace Foo {
public ref class Bar: IHandleContainer { ... }
public ref class Baz: IHandleContainer {
internal:
virtual IntPtr GetHandle() = IHandleContainer::GetHandle;
}
}
我不需要IHandleContainer是公開的,但是I do需要將IHandleContainer放在接口列表上,這樣我的每個內部對象才能成功地成爲safe_cast<IHandleContainer>
。
在命名空間之外,IHandleContainer
不應該發射到元數據,但應該有一個與其關聯的COM GUID,並且通過將它列在ref類的接口列表中,CX應該能夠將正確的響應連接到QueryInterface 。在結構上,一切都應該「正常工作」。但是,編譯器不配合: