2012-03-31 1 views
0

J'ai une classe appelée RandomGen qui génère des variables aléatoires lorsqu'il est appelé comme ceci:Comment utiliser Application.Current.Properties ou une autre variable globale

RandomGen u = new RandomGen(); 
      int QRNOne = u.QuestionRandNo(n); 
      n++; 

Comment puis définissez QRNOne comme une variable globale pour être accédé plus tard? Aussi, puis-je faire cela à partir de la classe, et l'ai-je créé cette variable? (Je réalise qu'il n'y a pas de "vraie" variable globale dans C# WPF, mais vous devez comprendre de quoi je parle.)

+0

Un champ statique dans une classe statique est une variable globale. –

Répondre

1

Veuillez lire le static class members.

Je suis sûr que vous savez que les variables globales sont mieux évitées si possible, mais si vous avez vraiment besoin d'une variable membre statique alors vous feriez quelque chose comme ceci:

public class MyClass 
{ 
    public static int QRNOne {get; private set;} 

    public void GenerateRandom(){ ... ; QRNOne = ...; } 
} 

Et puis reportez-vous à cette variable de ailleurs comme

public void SomeOtherMethod() 
{ 
    int qr = MyClass.QRNone; 
    ... 
} 
+0

Ok, merci, mais quel genre de chose devrais-je mettre ici: {...; QRNOne = ...; } Comme dans ce que devrait être le "...". Je suis vraiment un débutant. – GrumpyMammoth

+0

Il suffit de mettre le code que vous avez ci-dessus. RandomGen u = nouveau RandomGen(); QRNOne = u.QuestionRandNo (n); n + +; – Phil

+0

Merci Phil. Je n'ai pas vraiment réussi à le faire fonctionner, j'ai trouvé un autre moyen, mais j'apprécie l'aide. – GrumpyMammoth

0

Pouvez-vous utiliser une classe de style statique Singleton avec des propriétés pour les valeurs que vous souhaitez utiliser? Cela devrait alors avoir une visibilité globale avec une structure et une encapsulation suffisantes.

Questions connexes