Hello
Ben voila ma question est toute bete; je cherche à créer une variable disponible pour l'ensemble de mon projet. Seulement je ne vois pas comment faire.
Merci d'avance pour toute réponse ;)
PS: je précise qu'il s'agit de vs2005.
Version imprimable
Hello
Ben voila ma question est toute bete; je cherche à créer une variable disponible pour l'ensemble de mon projet. Seulement je ne vois pas comment faire.
Merci d'avance pour toute réponse ;)
PS: je précise qu'il s'agit de vs2005.
Ca la rend disponible à tout les objets du processus courant.Code:static
je comprends pas trop
je mets ou le static? Dans quelle classe?
Si j'ai une variable static dans ma Form1, que celle-ci avant de se fermer appelle Form2 est ce que la variable sera disponible dans Form2 meme si Form1 est déchargée?
Il veut parler d'une variable membre de ta classe:
private static int MaVariable
une variable static, dans une classe, c'est aussi ce qu'on appelle une variable de classe. Si tu as fait des études en POO tu vois de quoi je parle.
Sinon, bah la différence c'est que tu l'appelles non pas en utilisant une référence d'instance, mais en utilisant une référence de classe.
Illlustration
REMARQUE : la variable static varclass est créée au moment où tu créé la PREMIERE INSTANCE de MaClasse. Et elle n'est pas détruite, même si toutes les isntances de MaClasse sont détruites.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class MaClass { // variable d'instance (ou champ) public int varinst = 0; // variable de class (ou champ static) public static int varclass = 0; } // et ailleurs dans ton code : // je créé une instance MaClasse monobject = new MaClasse(...); // j'utilise la variable associée à un instance de MaClass monobjet.varinst = 5; // j'utilise la variable associée à MaClass MaClasse.varclass = 2;
Donc oui, ta variable static dans Form1 restera acessible.
Bon, je crois qu'en une petite douzaine d'années l'OP a certainement trouvé sa solution, hein :mrgreen:
Oh punaise, le bon déterrage. Remarque judicieuse jopopmk !!!