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.
6 réponses
-
Qu'entends tu par "classe globale" ?
Lucas -
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 -
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 -
Oui tu as raison Nico#.
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
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