none
puedo introducir una clase de C# a un proyecto WIN32 C++? RRS feed

  • Pregunta

  • es decir podría meter una clase de C# a un proyecto de C++  de WINAPI y hacer que funcionen como uno y realicen sus funciones cada una? uso visual studio 2017

    domingo, 24 de marzo de 2019 4:09

Respuestas

  • No, no fácilmente. Al revés sí, podrías hacer un ejecutable en C# que llame a una dll hecha en c++ mediante P/Invoke. Pero si quisieras llamar desde el proyecto winapi al de C#, (es decir, desde código no-gestionado hacia código gestionado) necesitas invocarlo de manera que ejecute el "gestror" del código (el core engine, mscoree.dll). Hay formas de hacerlo, por ejemplo, podrías ir a través de COM, pero no es algo tan sencillo como añadir la clase y ya está.
    • Marcado como respuesta ESKINDAR domingo, 24 de marzo de 2019 19:46
    domingo, 24 de marzo de 2019 8:25
    Moderador

Todas las respuestas

  • No, no fácilmente. Al revés sí, podrías hacer un ejecutable en C# que llame a una dll hecha en c++ mediante P/Invoke. Pero si quisieras llamar desde el proyecto winapi al de C#, (es decir, desde código no-gestionado hacia código gestionado) necesitas invocarlo de manera que ejecute el "gestror" del código (el core engine, mscoree.dll). Hay formas de hacerlo, por ejemplo, podrías ir a través de COM, pero no es algo tan sencillo como añadir la clase y ya está.
    • Marcado como respuesta ESKINDAR domingo, 24 de marzo de 2019 19:46
    domingo, 24 de marzo de 2019 8:25
    Moderador
  • es decir podría meter una clase de C# a un proyecto de C++  de WINAPI y hacer que funcionen como uno y realicen sus funciones cada una? uso visual studio 2017

    Hola:

    Mejor hacer una interfaz con Visual C# y las funciones mediente C/C++ con una dll.

    Aquí hice un mini tutorial sobre ello, creo una función de ejemplo que haga una suma y muestre un texto. C# lo lee.

    Ver tutorial:

    Crear una dll en C++ y llamarla con la interfaz C#.

    Saludos.


    http://electronica-pic.blogspot.com

    domingo, 24 de marzo de 2019 8:41