Rumah > pembangunan bahagian belakang > C++ > Mengapa Saya Mendapat Ralat 'Rujukan Objek Diperlukan untuk Ralat Medan, Kaedah atau Harta Bukan Statik' dalam C#?

Mengapa Saya Mendapat Ralat 'Rujukan Objek Diperlukan untuk Ralat Medan, Kaedah atau Harta Bukan Statik' dalam C#?

Linda Hamilton
Lepaskan: 2025-01-22 05:26:09
asal
151 orang telah melayarinya

Why Am I Getting a

Ralat C#: "Rujukan objek diperlukan untuk mengakses medan, kaedah atau sifat bukan statik"

Penjelasan:

Ralat ini berlaku apabila cuba mengakses pembolehubah, kaedah atau sifat bukan statik daripada konteks statik. Dalam contoh ini, kaedah "Utama" mengisytiharkan percubaan statik untuk memanggil kaedah bukan statik "GetRandomBits()".

Soalan khusus:

Dalam kod yang disediakan, kaedah "GetRandomBits()" ditakrifkan sebagai kaedah bukan statik dalam kelas "Program". Walau bagaimanapun, kaedah "Utama" diisytiharkan statik dalam kelas yang sama. Ketidakpadanan ini menyebabkan ralat.

Penyelesaian:

Terdapat dua penyelesaian yang mungkin untuk masalah ini:

  1. Buat contoh kelas Program:

    Dalam kaedah "Utama", buat contoh kelas "Program" dan kemudian panggil kaedah "GetRandomBits()" pada tika itu.

    <code class="language-csharp">Program p = new Program();
    string bits = p.GetRandomBits();</code>
    Salin selepas log masuk
  2. Tetapkan "GetRandomBits()" kepada statik:

    Sebagai alternatif, anda boleh mengubah suai pengisytiharan kaedah "GetRandomBits()" untuk menjadikannya kaedah statik. Dengan cara ini ia boleh dipanggil terus daripada kaedah "Utama" statik.

    <code class="language-csharp">public static string GetRandomBits()
    {
        // ... 方法实现
    }</code>
    Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Rujukan Objek Diperlukan untuk Ralat Medan, Kaedah atau Harta Bukan Statik' dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan