Void & Variable publique sans utiliser "static"
Fermé
xxxinconitoxxx
Messages postés
151
Date d'inscription
jeudi 25 octobre 2012
Statut
Membre
Dernière intervention
15 novembre 2015
-
15 nov. 2015 à 14:32
Utilisateur anonyme - 15 nov. 2015 à 15:43
Utilisateur anonyme - 15 nov. 2015 à 15:43
A voir également:
- Void & Variable publique sans utiliser "static"
- Utiliser chromecast - Guide
- Comment utiliser l'ia - Accueil - Guide Intelligence artificielle
- Utiliser iphone comme webcam - Guide
- Comment utiliser utorrent - Télécharger - Téléchargement & Transfert
1 réponse
Utilisateur anonyme
15 nov. 2015 à 15:43
15 nov. 2015 à 15:43
Bonjour,
il ne faut pas confondre public et static.
Public ça veut dire que ce sera accessible par une autre form, même (et c'est la majorité des cas) si ça n'est pas static.
Static ça "veut dire" que ça "existe" sans instance, c'est valable pour une variable privée ou public, une propriété, une méthode, une classe entière.
Par exemple Math est une classe statique, tu ne peux l'instancier.
Elle dispose de tout un tas de méthodes statique te permettant chacune un calcul spécifique: Math.Sin(), Math.Pow() etc... Elle dispose aussi de 2 variables (constantes ici) E et PI.
Tous ces membres sont public puisqu'on les voit dans nos programmes.
Il est possible qu'il y ait aussi des membres privés, mais comme on ne peut pas les voir....
int est une classe "normale", instanciable, on peut faire
Elle dispose de méthodes de classe (static) comme Parse par exemple
Et des méthodes d'instance, ToString() par exemple:
Une fois cette précision faite, je suppose que tu cherche une variable globale, sache que c'est déconseillé et considéré comme "mal codé".
Il est préférable de passer des infos d'une classe à l'autre, ici un petit tuto sur le sujet. https://codes-sources.commentcamarche.net/faq/11107-interactions-entre-form-en-net-c-et-vb-net , c'est écrit pour les form, mais une form c'est une classe que l'on voit...
Si tu tiens quand même à la variable globale, alors une variable static dans une classe static (comme Math.PI) est une solution courante.
Il existe aussi les singleton, ce qui pour une simple variable revient un peu au même, voir cet article https://jlambert.developpez.com/tutoriels/dotnet/implementation-pattern-singleton-csharp/
il ne faut pas confondre public et static.
Public ça veut dire que ce sera accessible par une autre form, même (et c'est la majorité des cas) si ça n'est pas static.
Static ça "veut dire" que ça "existe" sans instance, c'est valable pour une variable privée ou public, une propriété, une méthode, une classe entière.
Par exemple Math est une classe statique, tu ne peux l'instancier.
Elle dispose de tout un tas de méthodes statique te permettant chacune un calcul spécifique: Math.Sin(), Math.Pow() etc... Elle dispose aussi de 2 variables (constantes ici) E et PI.
Tous ces membres sont public puisqu'on les voit dans nos programmes.
Il est possible qu'il y ait aussi des membres privés, mais comme on ne peut pas les voir....
int est une classe "normale", instanciable, on peut faire
int monInt = new Int();
Elle dispose de méthodes de classe (static) comme Parse par exemple
int nomInt = int.Parse("12");
Et des méthodes d'instance, ToString() par exemple:
Console.WriteLine(monInt.ToString());
Une fois cette précision faite, je suppose que tu cherche une variable globale, sache que c'est déconseillé et considéré comme "mal codé".
Il est préférable de passer des infos d'une classe à l'autre, ici un petit tuto sur le sujet. https://codes-sources.commentcamarche.net/faq/11107-interactions-entre-form-en-net-c-et-vb-net , c'est écrit pour les form, mais une form c'est une classe que l'on voit...
Si tu tiens quand même à la variable globale, alors une variable static dans une classe static (comme Math.PI) est une solution courante.
Il existe aussi les singleton, ce qui pour une simple variable revient un peu au même, voir cet article https://jlambert.developpez.com/tutoriels/dotnet/implementation-pattern-singleton-csharp/