Methodenübergreifender Zugriff auf C#-Variablen
Wenn Sie in einem C#-Programm mit verschiedenen Objekten und Methoden arbeiten, müssen Sie möglicherweise in einer Methode auf Variablen zugreifen, die in einer anderen Methode definiert sind. Dieser Artikel bietet eine Lösung für dieses häufige Problem.
Im-Beispiel verwenden Sie ein C#-Formular, das zwei Textfelder mit den Namen readG
und readQ
enthält. Ihr Ziel ist es, die Werte aus diesen Textfeldern zu lesen und in einer separaten Methode namens button1_Click
Operationen daran durchzuführen. Der aktuelle Code versucht jedoch, die in den Methoden readG_TextChanged
und readQ_TextChanged
definierten Variablen _Gd
und _Qd
zu verwenden, auf die in button1_Click
nicht zugegriffen werden kann.
Um dieses Problem zu beheben, müssen die Variablen _Gd
und _Qd
außerhalb der einzelnen Methoden verschoben und als private Variablen auf Klassenebene deklariert werden. Dadurch sind sie in der gesamten Klasse zugänglich und können in button1_Click
- und Textänderungs-Ereignishandlermethoden verwendet werden.
Das Folgende ist der geänderte Code:
<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>
Dieser geänderte Code platziert _Gd
und _Qd
auf Klassenebene und stellt so sicher, dass sie innerhalb der button1_Click
-Methode zugänglich sind. Der Textänderungsereignishandler aktualisiert diese Variablen und verwendet ihre Werte, wenn auf die Schaltfläche geklickt wird. Auf diese Weise sollten Sie problemlos Vorgänge mit den im Textfeld eingegebenen Zahlen durchführen können.
Das obige ist der detaillierte Inhalt vonWie kann ich in C# von einer Methode in einer anderen auf Variablen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!