Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyelesaikan Ralat 'Rujukan Objek Diperlukan' Apabila Mengakses Ahli Bukan Statik dalam C#?

Bagaimana untuk Menyelesaikan Ralat 'Rujukan Objek Diperlukan' Apabila Mengakses Ahli Bukan Statik dalam C#?

Barbara Streisand
Lepaskan: 2024-12-29 12:00:21
asal
684 orang telah melayarinya

How to Resolve

Menyelesaikan "Rujukan Objek Diperlukan" Ralat untuk Akses Ahli Bukan Statik

Apabila memanggil panggilan balik pemasa dalam fungsi berasingan, seseorang mungkin menghadapi ralat "An object rujukan diperlukan untuk mengakses medan, kaedah atau harta bukan statik..." Ini timbul apabila mengakses ahli kelas bukan statik dalam kaedah statik atau acara.

Untuk menyelesaikan masalah ini, terdapat dua pilihan:

  1. Isytihar Panggilan Balik dan Pembolehubah Ahli sebagai Statik:

    • Jadikan panggilan balik pemasa dan pembolehubah ahli statik, sebagai dalam:
    public static void Main (string[] args)
    {
        Timer _timer = null;
        static TimeSpan _millisecs;
        ...
    }
    Salin selepas log masuk
    • Ini membenarkan mengakses pembolehubah ahli dan panggil balik tanpa contoh objek.
  2. Buat Contoh daripada Kelas:

    • Sebutkan objek kelas yang mengandungi ahli bukan statik:
    MainClass instance = new MainClass();
    btn.Clicked += instance.StartClick;
    btn_stop.Clicked += instance.StopClick;
    Salin selepas log masuk
    • Panggil balik kini boleh mengakses ahli bukan statik melalui objek contoh.

Pilihan antara pilihan ini bergantung pada keperluan aplikasi. Jika pengurusan negeri global diutamakan, ahli statik boleh digunakan. Sebagai alternatif, mencipta tika memberikan kebolehujian dan enkapsulasi yang lebih baik.

Memahami punca mesej ralat membantu membuat keputusan termaklum. Ralat berlaku kerana ahli bukan statik memerlukan contoh objek untuk diakses, manakala ahli statik tidak.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Rujukan Objek Diperlukan' Apabila Mengakses Ahli 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