Ralat C#: "Rujukan kepada objek diperlukan untuk menggunakan medan bukan statik"
Kod C# ini mengandungi dua kelas: satu mentakrifkan parameter algoritma dan satu lagi melaksanakan algoritma. Dalam kaedah Main
kelas kedua, saya mendapat ralat berikut:
<code>需要对象的引用才能使用非静态字段、方法或属性 'VM_Placement.Program.GetRandomBits()'</code>
Ralat ini adalah kerana kaedah Main
adalah statik dan anda cuba memanggil kaedah bukan statik dalam GetRandomBits()
.
Penyelesaian:
Untuk menyelesaikan masalah ini, anda boleh memilih dua kaedah berikut:
Buat contoh kelas Program:
Dalam kaedah Main
, buat contoh kelas Program
dan kemudian panggil GetRandomBits()
pada contoh itu:
<code class="language-csharp">Program p = new Program(); string bits = p.GetRandomBits();</code>
Jadikan kaedah GetRandomBits() statik:
Ubah suai pengisytiharan kaedah GetRandomBits()
untuk menjadikannya kaedah statik:
<code class="language-csharp">public static string GetRandomBits() { ... }</code>
Selepas membuat kaedah statik, anda boleh memanggilnya terus tanpa membuat contoh kelas Program
.
Atas ialah kandungan terperinci Mengapa 'Rujukan Objek Diperlukan untuk Medan Bukan Statik' Berlaku dalam C# dan Bagaimana Ia Boleh Dibetulkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!