[B]Erreur CS0019 dans l'utilisation d'une classe managée dans du C#[/B]
Bonjour,
je n'arrive pas à utiliser une classe que j'ai écrite en c++ managé dans du C#.
Voici ma classe, tres basique:
Code:
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);
}; |
Les méthodes sont définies dans un fichier cpp. Elle compile tres bien.
Et je veux faire en c# qqc comme:
Code:
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; |
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#.
Quelqu'un peut il m'aider?
Merci.