Bonjour,
je n'arrive pas à utiliser une classe que j'ai écrite en c++ managé dans du C#.
Voici ma classe, tres basique:
Les méthodes sont définies dans un fichier cpp. Elle compile tres bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 ref class CartesianPoint { private: double mX; double mY; double mZ; public: CartesianPoint(); CartesianPoint(CartesianPoint %aPoint); CartesianPoint(double aX, double aY, double aZ); property double X { double get(); void set(double aX);} property double Y { double get(); void set(double aY);} property double Z { double get(); void set(double aZ);} CartesianPoint operator+(CartesianPoint %aPoint); CartesianPoint operator-(CartesianPoint %aPoint); CartesianPoint %operator-=(CartesianPoint %aPoint); CartesianPoint %operator+=(CartesianPoint %aPoint) { X += aPoint.X; Y += aPoint.Y; Z += aPoint.Z; return (*this); } CartesianPoint %operator-(); CartesianPoint %operator=(CartesianPoint %aPoint); bool operator==(CartesianPoint %aPoint); bool operator!=(CartesianPoint %aPoint); };
Et je veux faire en c# qqc comme:
J'obtiens l'erreur CS0019 sur la ligne 3. J'ai lu pas mal d'articles sur la surcharge des opérateurs en c++ cli, mais je ne trouve pas d'example d'utilisation en c#.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CartesianPoint pt1 = new CartesianPoint(1.0,2.0,3.0); CartesianPoint pt2 = new CartesianPoint(4.0,5.0,6.0); pt2 += pt1;
Quelqu'un peut il m'aider?
Merci.
Partager