Rumah >pembangunan bahagian belakang >C++ >Mengapa 'Rujukan Objek Diperlukan untuk Medan Bukan Statik' Berlaku dalam C# dan Bagaimana Ia Boleh Dibetulkan?

Mengapa 'Rujukan Objek Diperlukan untuk Medan Bukan Statik' Berlaku dalam C# dan Bagaimana Ia Boleh Dibetulkan?

Barbara Streisand
Barbara Streisandasal
2025-01-22 05:19:10585semak imbas

Why Does

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:

  1. 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>
  2. 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!

Kenyataan:
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