Ich habe in Kreisen gegoogled versucht, ein vollwertiges Beispiel zu diesem, aber ohne Erfolg zu finden.C++/CLI Erben von einer nativen C++ - Klasse mit abstrakten Methoden und aussetzen C#
Ich habe eine C++ - API, die eine Reihe von Klassen präsentiert, die rein virtuelle Methoden enthalten, von denen der Entwickler profitieren kann. Was ich versuche, ist diese Schnittstelle zu C# über die C++/CLI bereitzustellen.
Ich habe es geschafft, die API in die C++/CLI-Bibliothek kompiliert und ich habe einen Knackpunkt erreicht, wie ich neu bin.
Ich bin mir bewusst, dass ich einen Wrapper erstellen muss, um die nicht verwaltete C++/CLI-Klasse einer verwalteten .net-Klasse zugänglich zu machen, aber ich habe kein solides Beispiel oder eine Diskussion gefunden, die zeigt, wie dies mit dem Abstract funktioniert C++ - Klasse.
Kann mir jemand in die richtige Richtung zu einem vollständigen Beispiel einschließlich C# Test-Anwendung zeigen, die das Ende zeigt, wie Sie den Wrapper für eine abstrakte Klasse erstellen. Es scheint ein "Oh du tust do X" Ding zu sein, aber ich kann nicht herausfinden, was X ist :). Ich habe ein paar Beispiele hier gesehen, aber sie sind nicht sehr klar. Es ist ungefähr 3 Jahre her, seit ich mich mit C# beschäftigt habe.
Hoffe jemand kann helfen!
Sammich
Sie können eine verwaltete Ref-Klasse nicht von einer nativen C++ - Klasse ableiten. Sie [müssen] (http://stackoverflow.com/a/2691448/17034) es einkapseln. –
Hallo, Mir ist sehr bewusst, dass es einkapseln muss und dass Sie eine Proxy/Brücke zwischen Ihrer C++ - Klasse für C# bereitstellen müssen. Ich habe eine Reihe von Beispielen gesehen, die gcroot verwenden, aber ihnen fehlen Details. Was ich suche, ist ein End-to-End-Beispiel für diese Art von Kapselung für eine native abstrakte C++ - Klasse. –
Ich habe einen Link zu einem Beispiel gepostet. Es ist mir völlig unklar, warum es nicht geeignet ist. –