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.
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
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 : 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 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.
Presque ! Il faut juste remplacer la visibilité private par public afin d'avoir l'équivalent d'une variable globale
La variable globale est alors accessible partout via MaClasse.MaVariable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class MaClasse { public static int MaVariable; }
Bon, je crois qu'en une petite douzaine d'années l'OP a certainement trouvé sa solution, hein![]()
Oh punaise, le bon déterrage. Remarque judicieuse jopopmk !!!
Partager