lang:csharp:clr
Ceci est une ancienne révision du document !
Table des matières
Syntaxe de C++/CLI
Les types C# se postfixe avec un ^ et on utilise using namespace à la place de using pour faire la différence avec le C++.
using namespace System::Threading; Mutex^ mutex;
Une classe est autorisée à utiliser les types C# si sa déclaration est précédée de ref.
public ref class Carte {}
L'initialisation des variables statiques d'une classe doit se faire dans l'entête et l'allocation mémoire se faire avec un gcnew.
public ref class Driver { static System::Collections::Generic::List<Carte^>^ cartes = gcnew System::Collections::Generic::List<Carte^>();
La notion de référence & n'existe pas pour les objets managés.
C# => C++
Pointeurs
Managed C++/CLI Array Conversion Error Archive du 22/11/2018
- C#
CalcSumArray(new[] { 1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f }, 6);
- CLR
static float CalcSumArray(array<float>^ val, int length) { cli::pin_ptr<float> t = &val[0]; float* y = t; return SumArray(y, length); }
- C++
float SumArray(float* val, int length);
C++ => C#
string
char *pcertificate; String^ sCertificate; sCertificate = gcnew String(pcertificate);
lang/csharp/clr.1544445867.txt.gz · Dernière modification : de root
