Accès multi-méthodes aux variables C#
Lorsque vous traitez différents objets et méthodes dans un programme C#, vous devrez peut-être accéder aux variables définies dans une autre méthode dans une méthode. Cet article propose une solution à ce problème courant.
Dans l'exemple, vous utilisez un formulaire C# qui contient deux zones de texte nommées readG
et readQ
. Votre objectif est de lire les valeurs de ces zones de texte et d'effectuer des opérations sur elles dans une méthode distincte nommée button1_Click
. Cependant, le code actuel tente d'utiliser les variables readG_TextChanged
et readQ_TextChanged
définies dans les méthodes _Gd
et _Qd
, qui ne sont pas accessibles dans button1_Click
.
Pour résoudre ce problème, les variables _Gd
et _Qd
doivent être déplacées en dehors des méthodes individuelles et déclarées comme variables privées au niveau de la classe. Ce faisant, ils sont accessibles dans toute la classe et peuvent être utilisés dans les méthodes de gestionnaire d'événements button1_Click
et de changement de texte.
Voici le code modifié :
<code class="language-csharp">private decimal _Gd; private decimal _Qd; public void readG_TextChanged(object sender, EventArgs e) { string _G = readG.Text; _Gd = Convert.ToDecimal(_G); } public void readQ_TextChanged(object sender, EventArgs e) { string _Q = readQ.Text; _Qd = Convert.ToDecimal(_Q); } private void button1_Click(object sender, EventArgs e) { decimal _ULS = (1.35m * _Gd + 1.5m * _Qd); Console.WriteLine("{0}", _ULS); }</code>
Ce code modifié place _Gd
et _Qd
au niveau de la classe, garantissant qu'ils sont accessibles dans la méthode button1_Click
. Le gestionnaire d'événements de modification de texte met à jour ces variables et utilise leurs valeurs lorsque vous cliquez sur le bouton. De cette façon, vous devriez pouvoir effectuer des opérations en douceur sur les nombres saisis dans la zone de texte.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!