Salut
j ai essaye :
Pourquoi je n accede pas a STR2 alors que j accede a STR1 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public readonly String STR1= "sddfg"; public const String STR2= "azerty";
thx ++
Salut
j ai essaye :
Pourquoi je n accede pas a STR2 alors que j accede a STR1 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public readonly String STR1= "sddfg"; public const String STR2= "azerty";
thx ++
"accede" en lecture ? en écriture ? C'est quoi la question ?
Quand je fais maclasse. il y a la liste des methodes et des membre et je ne vois dans la liste que STR1....
Bah une constante c'est pas visible normalement... On ne voit que les methodes et les propriétés !Envoyé par Seth77
Enfin je n'ai pas bien compris le probleme...![]()
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+
+
=
Ne pas oublier le Tag!
Ok, bon tu ne précise toujours pas où tu te trouves pour nous dire "il y a la liste des methodes et des membre et je ne vois dans la liste que STR1...." mais je crois avoir compris.
Voilà du code qui devrait t'aider a comprendre :
Code c# : 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 class toto { public readonly string Str1; public const string Str2 = "toto"; public void Test() { System.Console.WriteLine("Constructeur :"); Str1 = "Est accessible"; // en lecture ET en écriture; System.Console.WriteLine("Str1 est accessible en lecture et en écriture {0}", Str1); System.Console.WriteLine("Str2 est accessible en lecture: {0}", Str2); } public void Pipo() { System.Console.WriteLine("Méthode :"); System.Console.WriteLine("Str1 est accessible en lecture seulement {0}", Str1); System.Console.WriteLine("Ici seul Str2 est accessible en lecture: {0}", Str2); } public static void Pipo() { System.Console.WriteLine("Méthode static (Méthode de classe) :"); System.Console.WriteLine("Ici seul Str2 est accessible en lecture: {0}", Str2); } } class bof { public bof() { toto vToto = new toto(); System.Console.WriteLine("Str1 est accessible en lecture seulement {0}, depuis une inctance", vToto.Str1); System.Console.WriteLine("Str2 est accessible en lecture seulement {0}, depuis la classe", toto.Str2); } }
Par ce qu'une constante est statique, tu y accèdes depuis la classe et pas depuis une instance de ta classe. Alors qu'une variable readonly est une variable d'instance:Envoyé par Seth77
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MaClasse Instance = new MaClasse (); Instance.STR1; //ok STR1 est une variable d'instance MaClasse.STR2; //STR2 est statique il faut y accéder depuis MaClasse
Partager