Classe globale en c#.net
hiba
-
hiba -
hiba -
Bonjour tout le monde,
Je suis entrain de réaliser mon projet de stage d'été avec c#.net .
Dans ce cadre j'ai utilisé une classe globale pour y mettre un tableau de type variable globale
mais ça n'as pas marcher.Voila mon code
static class Class2
{
public static String[] m_globalVar1 = new string[250];
public static string GlobalVar1(int i)
{
get { return m_globalVar1[i]; }
set { m_globalVar1[i] = value; }
}
il me disait que le (get) et le (set) n'existe pas dans le contexte actuel et (value) aussi.Est ce quelqu'un pourrait m'aider à corriger l'erreur.merci d'avance.
Je suis entrain de réaliser mon projet de stage d'été avec c#.net .
Dans ce cadre j'ai utilisé une classe globale pour y mettre un tableau de type variable globale
mais ça n'as pas marcher.Voila mon code
static class Class2
{
public static String[] m_globalVar1 = new string[250];
public static string GlobalVar1(int i)
{
get { return m_globalVar1[i]; }
set { m_globalVar1[i] = value; }
}
il me disait que le (get) et le (set) n'existe pas dans le contexte actuel et (value) aussi.Est ce quelqu'un pourrait m'aider à corriger l'erreur.merci d'avance.
A voir également:
- Classe globale en c#.net
- Net framework 2.0 - Télécharger - Divers Utilitaires
- Paint net - Télécharger - Dessin & Illustration
- Logo .net - Télécharger - Études & Formations
- Net framework 4.0 - Télécharger - Divers Utilitaires
- .Net runtime optimization service ✓ - Forum Windows 8 / 8.1
6 réponses
hiba
classe globale est une classe définie à part dans le projet contenant des variables connus par tout le projet(toutes les formes)
lucas06150
Messages postés
156
Statut
Membre
11
Et pourquoi la mettre en Static plutôt qu'en Public ?
hiba
pour qu-elle soit reconnue par tout le projet sinon elle ne l'est pas
En regardant sur le MSDN tu peux voir qu'il n'est pas possible de modifier une donnée statique d'une classe statique donc tu ne peux pas mettre le set.
https://docs.microsoft.com/fr-fr/previous-versions/79b3xss3(v=vs.80)?redirectedfrom=MSDN#Y219
https://docs.microsoft.com/fr-fr/previous-versions/79b3xss3(v=vs.80)?redirectedfrom=MSDN#Y219
Slt et sa ne choque personne que on fasse un get set sur un methode ?
essaye de le faire sur une propriete et tu vera sa marchera
essaye de le faire sur une propriete et tu vera sa marchera
Oui tu as raison Nico#.
Le fait de mettre l'indice dans l'entête transforme la propriété en méthode.
Le fait de mettre l'indice dans l'entête transforme la propriété en méthode.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour faire ce que tu veut je te conseille de faire comme celà :
Tu crée une classe par exemple ClasseGlobale
puis tu instancie la classe comme ci-dessous
Tu possèdes maintenant un moyen de récupérer la valeur contenue dans la variable _s
Tu crée une classe par exemple ClasseGlobale
class ClasseGlobale { private readonly string[] _variableGlobale;//déclaration d'un champ de type tableau public ClasseGlobale(string[] variableGlobale)//déclaration du constructeur avec en paramètre un tableau du même type que le champ { _variableGlobale = variableGlobale;//affectation du paramètre au chaud } public string this[int i]//création d'une propriété indexée ou parfois appelée indexeur de type de retour String et en passant l'index en paramètre de this { get { return _variableGlobale[i]; }//on retourne l'index désiré set { _variableGlobale[i] = value; }//on affecte la valeur index désirée } }
puis tu instancie la classe comme ci-dessous
private static string _s; static void Main(string[] args) { var classeGlobale = new ClasseGlobale(new string[250]); _s = classeGlobale[1]; }
Tu possèdes maintenant un moyen de récupérer la valeur contenue dans la variable _s