我想用C++/CLI包裝本地庫。它與原始類型一起工作。但在以下情況下,它更復雜:包裝C#C++
interface ISampleInterface
{
void SampleMethod();
}
public ref class NativeClassWrapper {
NativeClass* m_nativeClass;
public:
NativeClassWrapper() { m_nativeClass = new NativeClass(); }
~NativeClassWrapper() { delete m_nativeClass; }
void Method(ISampleInterface ^i) {
???
m_nativeClass->Method(i);
}
};
如何包裝這?由於本機代碼C++不知道ISampleInterface型...(與虛擬類相同的問題)
謝謝你。
爲什麼'NativeClass :: Method'需要訪問'ISampleInterface'?正如你所說,它*不能*使用它,所以你需要一種方法來改變設計。 – SteveLove
本機代碼需要訪問實現ISampleInterface的類。在這個例子中,它是一個接口,但它可以是一個類。本設計中的問題是本地代碼不知道C++/CLI操作的元素的類型。我不知道如何解決這個問題。設計使用哪種設計?謝謝你的幫助。 – user1886318