あるライブラリがC++のクラスからなっており、これをC#から呼び出すため、C++/CLIでラッピングクラスを作成しております。
クラスの中に同型クラスを値渡ししたメゾッドがあるのですが、これをどうラッピングしたらと思い、投稿しました。
対象のクラス public class ClassA { public: bool IsPart( ClassA clsValue ) ; }
ラッピングクラス public ref class ClassACLI { public: IntPtr^ clsClassA ; bool IsPart( ClassCLI clsValue ) { return static_cast<ClassA *>(this->clsClassA->ToPointer())->IsPart( ??? ); ↑ ここへどう渡せばいいか? } }
巷のラッピングクラスの作成方法の説明では、ラッピング対象クラスをラッピングクラスの中でInternalで定義しているケースのみでしたが、自分と同型のクラスを引数に持つメゾッドのために、あえてPublicで定義しています。(正しいかどうかを別として)
ラッピングクラス内ではあくまでポインタとして保持しているので、値を持った形に変えるにアンマネージ領域を確保すればよいとは想像つきます。が、まだ、始めたばかり具体的な方法にまでは至っておりません。よろしくご教授下さい。
あなたの回答
tips
プレビュー