Akses rentas kaedah kepada pembolehubah C#
Apabila berurusan dengan objek dan kaedah yang berbeza dalam program C#, anda mungkin perlu mengakses pembolehubah yang ditakrifkan dalam kaedah lain dalam satu kaedah. Artikel ini menyediakan penyelesaian kepada masalah biasa ini.
Dalam contoh, anda menggunakan borang C# yang mengandungi dua kotak teks bernama readG
dan readQ
. Matlamat anda adalah untuk membaca nilai daripada kotak teks ini dan melaksanakan operasi padanya dalam kaedah berasingan bernama button1_Click
. Walau bagaimanapun, kod semasa cuba menggunakan pembolehubah readG_TextChanged
dan readQ_TextChanged
yang ditakrifkan dalam kaedah _Gd
dan _Qd
, yang tidak boleh diakses dalam button1_Click
.
Untuk menyelesaikan isu ini, pembolehubah _Gd
dan _Qd
mesti dialihkan di luar kaedah individu dan diisytiharkan sebagai pembolehubah peringkat kelas persendirian. Dengan melakukan ini, ia boleh diakses di seluruh kelas dan boleh digunakan dalam button1_Click
dan kaedah pengendali acara perubahan teks.
Berikut ialah kod yang diubah suai:
<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>
Kod yang diubah suai ini meletakkan _Gd
dan _Qd
di peringkat kelas, memastikan ia boleh diakses dalam kaedah button1_Click
. Pengendali peristiwa perubahan teks mengemas kini pembolehubah ini dan menggunakan nilainya apabila butang diklik. Dengan cara ini anda seharusnya dapat menjalankan operasi dengan lancar pada nombor yang dimasukkan dalam kotak teks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah dari Satu Kaedah dalam Lain dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!