C# und C++ in einem Projekt verwenden



  • Hi

    kann man eigentlich C# und C++ in einem .NET-Projekt verwenden?
    Eine Möglichkeit ist ja den C++-Teil in eine DLL zu packen und dann über P/Invoke einzubinden. Mich würd aber interessieren ob ich auch einfach die verschiedenen Klassen in C# oder C++ geschrieben in ein Projekt packen kann.

    Wenn es geht hat das schon mal jemand ausprobiert? Oder funktioniert es nur in der Theorie?

    Hintergrund ist der, dass ich bereits einen Hardware-Ansteuerungteil in C++ habe aber die Anzeige und das ganze drumrum in C# schreiben möchte, aber noch nicht weiss ob und wie das geht.

    Danke



  • Ich habe das schon mal gemacht. das war allerdings managed C++.



  • @ Xqgene:
    Du hast ein Projekt gemacht und dort zum einen C# und zum anderen C++ Klassen verwendet?
    Wie kann ich aus einer C#-Klasse eine C++-Klasse, oder umgekehrt, aufrufen?
    Gibts vielleicht ein Beispiel wo man sich das mal anschaun kann?
    Und geht es nur mit managed C++?

    So viele Fragen ich weiss.
    Danke für die Antworten.



  • ich habe 2 Projekte gemacht: C++ und C# und Verweise auf einander hinzugefügt. Da es alles managed ist, kann man ohne Problemme von C++ Klassen auf die C# zugreifen und umgeckert. Wird ja über Metadaten gegangen.

    Beispiel: das hier habe ich auch selbst mal nachvollzogen
    http://www.codeproject.com/cs/miscctrl/ThemedExplorerControls.asp?target=explorer|windows|xp

    Ob das auch mit unmanaged geht, weiss ich auch nicht. Sollte das nicht gehen, kann man vielleicht eine Wrapper Klasse in managed C++ schreiben.



  • Is zwar schon ein bischen her dass ich das gefragt habe aber da meine Frage hiezu ist schreib ich sie einfach hier mit rein.

    Ich hab mir das Beispiel unter
    http://www.codeproject.com/cs/miscctrl/ThemedExplorerControls.asp?target=explorer|windows|xp
    mal angekuckt aber ich kapier es noch nicht so ganz. Erstes Problem ist mal dass ich es nicht anschaun kann da ich kein XP habe. Aber mir gehts ja haupsächlich auch nur um das zusammenbauen der beiden Projekte.
    Soweit ich das gesehen hab wird in dem C#-Projekt über using das Projekt eingebunden. Das C++ Projekt ist eine dll, richtig? muss das so sein? oder kann das auch ein anderes Projekt sein?

    Danke


Anmelden zum Antworten