C# 変数へのクロスメソッド アクセス
C# プログラムでさまざまなオブジェクトやメソッドを扱う場合、あるメソッドで別のメソッドで定義された変数にアクセスする必要がある場合があります。この記事では、この一般的な問題の解決策を提供します。
の例では、readG
と readQ
という名前の 2 つのテキスト ボックスを含む C# フォームを使用しています。あなたの目標は、これらのテキスト ボックスから値を読み取り、button1_Click
という名前の別のメソッドでそれらの操作を実行することです。ただし、現在のコードは、readG_TextChanged
メソッドと readQ_TextChanged
メソッドで定義された変数 _Gd
と _Qd
を使用しようとしていますが、button1_Click
ではアクセスできません。
この問題を解決するには、_Gd
変数と _Qd
変数を個々のメソッドの外に移動し、プライベート クラス レベルの変数として宣言する必要があります。こうすることで、クラス全体でアクセスできるようになり、button1_Click
およびテキスト変更イベント ハンドラー メソッドで使用できるようになります。
以下は変更されたコードです:
<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>
この変更されたコードは、_Gd
と _Qd
をクラス レベルに配置し、button1_Click
メソッド内でアクセスできるようにします。テキスト変更イベント ハンドラーは、ボタンがクリックされたときにこれらの変数を更新し、その値を使用します。こうすることで、テキストボックスに入力された数値に対する操作がスムーズに行えるようになります。
以上がC# で、あるメソッドから別のメソッドの変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。