Heim >Backend-Entwicklung >C++ >Warum tritt in C# die Meldung „Ein Objektverweis ist für das nichtstatische Feld erforderlich' auf und wie kann dies behoben werden?
C#-Fehler: „Ein Verweis auf ein Objekt ist erforderlich, um nicht statische Felder zu verwenden“
Dieser C#-Code enthält zwei Klassen: eine definiert die Algorithmusparameter und die andere implementiert den Algorithmus. In der Main
-Methode der zweiten Klasse erhalte ich die folgende Fehlermeldung:
<code>需要对象的引用才能使用非静态字段、方法或属性 'VM_Placement.Program.GetRandomBits()'</code>
Dieser Fehler liegt daran, dass die Methode Main
statisch ist und Sie versuchen, eine nicht statische Methode in GetRandomBits()
aufzurufen.
Lösung:
Um dieses Problem zu lösen, können Sie die folgenden zwei Methoden wählen:
Erstellen Sie eine Instanz der Program-Klasse:
Erstellen Sie in der Methode Main
eine Instanz der Klasse Program
und rufen Sie dann GetRandomBits()
für diese Instanz auf:
<code class="language-csharp">Program p = new Program(); string bits = p.GetRandomBits();</code>
Machen Sie die GetRandomBits()-Methode statisch:
Ändern Sie die Methodendeklaration GetRandomBits()
, um daraus eine statische Methode zu machen:
<code class="language-csharp">public static string GetRandomBits() { ... }</code>
Nachdem Sie eine Methode statisch gemacht haben, können Sie sie direkt aufrufen, ohne eine Instanz der Klasse Program
zu erstellen.
Das obige ist der detaillierte Inhalt vonWarum tritt in C# die Meldung „Ein Objektverweis ist für das nichtstatische Feld erforderlich' auf und wie kann dies behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!