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"
Je voudrais pouvoir modifier/récupérer la valeur de "x" sans utiliser GetX et SetX mais en faisant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
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:
et la passer en argument à une méthode:
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 class VECTOR3{ public: float Array[3]; VECTOR3() { x = 0.0f; y = 0.0f; z = 0.0f; }; inline operator float*() { return Array; } ~VECTOR3(){}; };
VECTOR3 toto;
MaMethode(toto);
avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void MaMethode(float* arg){...}
Partager