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?

Warum tritt in C# die Meldung „Ein Objektverweis ist für das nichtstatische Feld erforderlich' auf und wie kann dies behoben werden?

Barbara Streisand
Barbara StreisandOriginal
2025-01-22 05:19:10585Durchsuche

Why Does

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:

  1. 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>
  2. 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!

Stellungnahme:
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