Heim > Backend-Entwicklung > C++ > Warum erhalte ich in C# die Fehlermeldung „Für das nicht-statische Feld, die nicht-statische Methode oder die nicht-statische Eigenschaft ist eine Objektreferenz erforderlich'?

Warum erhalte ich in C# die Fehlermeldung „Für das nicht-statische Feld, die nicht-statische Methode oder die nicht-statische Eigenschaft ist eine Objektreferenz erforderlich'?

Linda Hamilton
Freigeben: 2025-01-22 05:26:09
Original
209 Leute haben es durchsucht

Why Am I Getting a

C#-Fehler: „Für den Zugriff auf ein nicht statisches Feld, eine Methode oder eine Eigenschaft ist eine Objektreferenz erforderlich“

Erklärung:

Dieser Fehler tritt auf, wenn versucht wird, aus einem statischen Kontext auf eine nicht statische Variable, Methode oder Eigenschaft zuzugreifen. In diesem Beispiel versucht die als statisch deklarierte Methode „Main“, die nicht statische Methode „GetRandomBits()“ aufzurufen.

Spezifische Fragen:

Im bereitgestellten Code ist die Methode „GetRandomBits()“ als nicht statische Methode in der Klasse „Program“ definiert. Die Methode „Main“ ist jedoch in derselben Klasse als statisch deklariert. Diese Nichtübereinstimmung hat den Fehler verursacht.

Lösung:

Es gibt zwei mögliche Lösungen für dieses Problem:

  1. Erstellen Sie eine Instanz der Program-Klasse:

    Erstellen Sie in der Methode „Main“ eine Instanz der Klasse „Program“ und rufen Sie dann die Methode „GetRandomBits()“ für diese Instanz auf.

    Program p = new Program();
    string bits = p.GetRandomBits();
    Nach dem Login kopieren
  2. Setzen Sie „GetRandomBits()“ auf statisch:

    Alternativ können Sie die Deklaration der Methode „GetRandomBits()“ ändern, um sie zu einer statischen Methode zu machen. Auf diese Weise kann es direkt aus der statischen Methode „Main“ aufgerufen werden.

    public static string GetRandomBits()
    {
        // ... 方法实现
    }
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in C# die Fehlermeldung „Für das nicht-statische Feld, die nicht-statische Methode oder die nicht-statische Eigenschaft ist eine Objektreferenz erforderlich'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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