„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum ist mein C# -Codesurfen "Eine Objektreferenz ist für den Fehler nicht statischer Feld, Methode oder Eigenschaft erforderlich?

Warum ist mein C# -Codesurfen "Eine Objektreferenz ist für den Fehler nicht statischer Feld, Methode oder Eigenschaft erforderlich?

Gepostet am 2025-02-06
Durchsuche:362

Why Does My C# Code Throw

c# Fehler: "Objektreferenz ist erforderlich, um auf nicht statische Felder, Methoden oder Eigenschaften zugreifen zu können"

]

In diesem c# Code trat ein Fehler in der population [i] .bits = getRandombits (); Zeile in der main () -Methode auf, und die Fehlermeldung ist " Die Objektreferenz ist erforderlich, um auf nicht-statische Felder, Methoden oder Attribut 'vm_placement.program.getRandombits ()' 'zuzugreifen. Dieser Fehler zeigt an, dass eine nicht statische Methode getRandombits () aus der statischen main () -Methode aufgerufen wird.

In C#sind statische Methoden mit Klassen verbunden, nicht mit bestimmten Instanzen von Klassen, und nicht mit statischen Methoden sind mit Instanzen von Klassen verbunden. Dies bedeutet, dass nicht statische Methoden Anfälle der Klasse erfordern, um aufgerufen zu werden.

Für diesen speziellen Fall gibt es zwei Lösungen, um diesen Fehler zu beheben:

  • Erstellen Sie eine Instanz der Programmklasse:
Program p = new Program();
p.GetRandomBits();

Wenn Sie eine Instanz der Programmklasse erstellen, können Sie GetRandombits () in dieser Instanz aufrufen, da es sich jetzt um eine Instanzmethode handelt.

  • setzen Sie die GetRandombits () -Methode auf statisch:
public static string GetRandomBits()
{
    // ...
}

set getRandombits () zu statisch und erlauben, dass sie direkt in die statische main () Methode aufgerufen werden kann, ohne dass die Klasse für die Klasse erforderlich ist.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3