Ja, man kann in C# unmanaged C/C++ verwenden, mit P/Invoke.
So ungefähr:
C#-Quelltext
1: 2: 3: 4:
| using System.Runtime.InteropServices; [DllImport("someUnmangedDll.dll")] private extern int TheNameOfTheUnmangedFunction(int myIntParam); |
Einfach mal MSDN nach DllImport und P/Invoke durchsuchen.
So, nun das
ABER:
P/Invoke ist dazu da, um performancekritische Teile in (schnelleren) unmanged Code auszulagern
oder um Win32-API-Funktion / Funktionen, die man in C# nicht schreiben kann (Treiber, ...) zu nutzen.
Außerdem sind P/Invoke-Aufrufe um ein vielfaches langsamer als der Aufruf einer C#-Methode.
Du solltest also (wenn möglich) alles komplett in C# schreiben. Wenn es C++-Code gibt, den du nicht portieren kannst
(wie oben gesagt), dann solltest du NUR diesen Code in eine unmanaged DLL packen und mit P/Invoke aufrufen.
Grüße, JasonDelife.