Heim > Backend-Entwicklung > C++ > Wie behebe ich den Fehler „Ein Objektverweis ist erforderlich' beim Zugriff auf nicht-statische Mitglieder in C#?

Wie behebe ich den Fehler „Ein Objektverweis ist erforderlich' beim Zugriff auf nicht-statische Mitglieder in C#?

Barbara Streisand
Freigeben: 2024-12-29 12:00:21
Original
684 Leute haben es durchsucht

How to Resolve

Behebung des Fehlers „Ein Objektverweis ist erforderlich“ für den Zugriff auf nicht-statische Mitglieder

Beim Aufrufen der Timer-Rückrufe in separaten Funktionen kann der Fehler „Ein Objekt Für den Zugriff auf nicht-statische Felder, Methoden oder Eigenschaften ist eine Referenz erforderlich ...“ Dies tritt auf, wenn auf nicht-statische Klassenmitglieder innerhalb statischer Methoden oder zugegriffen wird Ereignisse.

Um dieses Problem zu beheben, gibt es zwei Möglichkeiten:

  1. Rückrufe und Mitgliedsvariablen als statisch deklarieren:

    • Machen Sie die Timer-Rückrufe und Mitgliedsvariablen statisch, z in:
    public static void Main (string[] args)
    {
        Timer _timer = null;
        static TimeSpan _millisecs;
        ...
    }
    Nach dem Login kopieren
    • Dies ermöglicht den Zugriff auf Mitgliedsvariablen und Rückrufe ohne eine Objektinstanz.
  2. Erstellen Sie eine Instanz der Klasse:

    • Instanziieren Sie ein Objekt der Klasse, das das enthält nicht-statische Mitglieder:
    MainClass instance = new MainClass();
    btn.Clicked += instance.StartClick;
    btn_stop.Clicked += instance.StopClick;
    Nach dem Login kopieren
    • Die Rückrufe können jetzt über das Instanzobjekt auf nicht-statische Mitglieder zugreifen.

Die Die Wahl zwischen diesen Optionen hängt von den Anforderungen der Anwendung ab. Wenn eine globale Statusverwaltung bevorzugt wird, können statische Mitglieder verwendet werden. Alternativ bietet das Erstellen einer Instanz eine bessere Testbarkeit und Kapselung.

Das Verständnis der Ursache der Fehlermeldung hilft, fundierte Entscheidungen zu treffen. Der Fehler tritt auf, weil für nicht statische Mitglieder der Zugriff auf eine Objektinstanz erforderlich ist, für statische Mitglieder hingegen nicht.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Ein Objektverweis ist erforderlich' beim Zugriff auf nicht-statische Mitglieder in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage