Ho cercato su Google in cerchi cercando di trovare un esempio completo a questo ma senza successo.C++/CLI Ereditare da una classe C++ nativa con metodi astratti ed esporla a C#
Ho un'API C++ che presenta un numero di classi che contengono metodi virtuali puri da cui lo sviluppatore può estendersi. Quello che sto tentando di fare è fornire questa interfaccia a C# tramite C++/CLI.
Sono riuscito a ottenere l'API compilata nella libreria C++/CLI e ho raggiunto un punto critico dato che sono nuovo a questo.
Sono consapevole del fatto che ho bisogno di creare un wrapper per esporre la classe non gestita C++/CLI a una classe .net gestita, ma non ho trovato un esempio solido o una discussione che mostra come farlo con un abstract Classe C++.
Qualcuno può indicarmi la direzione giusta per un esempio completo che includa un'applicazione di test C# che mostri la fine alla fine di come creare il wrapper per una classe astratta. Sembra essere una cosa "Oh, devi solo fare X" ma non riesco a scoprire cosa sia X :). Ho visto alcuni esempi qui ma non sono molto chiari. Sono passati circa 3 anni da quando ho affrontato qualsiasi C#.
Spero che qualcuno possa aiutarti!
Sammich
Non è possibile derivare una classe di riferimento gestito da una classe C++ nativa. Tu [devi incapsulare] (http://stackoverflow.com/a/2691448/17034) esso. –
Ciao, Sono molto consapevole del fatto che ha bisogno di incapsulare e che è necessario fornire un proxy/bridge tra la classe nativa C++ a C#. Ho visto un certo numero di esempi che usano gcroot ma non hanno dettagli. Quello che sto cercando è un esempio end-to-end di questo tipo di incapsulamento per una classe C++ astratta nativa. –
Ho pubblicato un collegamento a un esempio. Non mi è del tutto chiaro perché non sia adatto. –