Questions sur les classes en C#
Bonjour,
1) Est-ce qu'il est possible en C# d'appeler une méthode qui modifie une variable sans avoir à l'appeler. Je m'explique:
Exemple: J'ai une classe "Toto" avec un element "x"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
public class Toto
{
private int x;
public void SetX(int value)
{
x = value;
}
public int GetX(void)
{
return x;
}
} |
Je voudrais pouvoir modifier/récupérer la valeur de "x" sans utiliser GetX et SetX mais en faisant:
Toto titi;
titi.x = 4;
int test = titi.x;
Et ce, sans avoir à déclarer x comme public (pour pouvoir faire des opérations lors de l'affectaion ou la déclaration d'une valeur).
Pour résumer, je voudrais pouvoir appeler des méthodes sans utilier "()" pour modifier ou récupérer des valeurs.
2) Est ce qu'il est possible, comme en C++ de contrôler les cast d'une classe (désolé, je connais pas les mots pour l'expliquer).
Exemple: J'ai une classe VECTOR3 que je veux donner en argument à une méthode qui prend comme paramètre un tableau de float.
En C++ je peux faire une classe comme celle-ci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class VECTOR3{
public:
float Array[3];
VECTOR3()
{
x = 0.0f; y = 0.0f; z = 0.0f;
};
inline operator float*()
{
return Array;
}
~VECTOR3(){};
}; |
et la passer en argument à une méthode:
VECTOR3 toto;
MaMethode(toto);
avec:
Code:
1 2
|
void MaMethode(float* arg){...} |