Heim > Backend-Entwicklung > C++ > Warum kann ich mit der Instanzsyntax in C# nicht auf ein statisches Mitglied zugreifen?

Warum kann ich mit der Instanzsyntax in C# nicht auf ein statisches Mitglied zugreifen?

Patricia Arquette
Freigeben: 2025-01-27 15:06:10
Original
525 Leute haben es durchsucht

Why Can't I Access a Static Member Using Instance Syntax in C#?

Fehler bei der Verwendung der Instanzsyntax für den Zugriff auf statische Mitglieder in C#

Wenn Sie in C# versuchen, mithilfe der Instanzsyntax auf ein statisches Mitglied zuzugreifen, tritt die Fehlermeldung „Auf das Mitglied ‚‘ kann nicht mithilfe einer Instanzreferenz zugegriffen werden“ auf. Um dieses Problem zu lösen, müssen Sie den Unterschied zwischen statischen Mitgliedern und Instanzmitgliedern verstehen.

Statische Mitglieder

Statische Mitglieder werden mit dem Schlüsselwort „static“ deklariert und sind mit dem Typ selbst und nicht mit einer Instanz des Typs verknüpft. Sie werden von allen Instanzen des Typs gemeinsam genutzt und können ohne Instanziierung des Objekts aufgerufen werden.

Instanzmitglieder

Instanzmitglieder werden ohne das Schlüsselwort „static“ deklariert und einer bestimmten Instanz des Typs zugeordnet. Auf sie kann nur über Instanzen des Typs zugegriffen werden.

Problemerklärung

Im angegebenen Codebeispiel ist MyItem.Property1 ein statisches Mitglied, da es mit dem Schlüsselwort „static“ deklariert wird. Daher kann nicht über die Instanzsyntax darauf zugegriffen werden (oItem.Property1).

Lösung

Um auf das statische Mitglied MyItem.Property1 zuzugreifen, können Sie zwischen den folgenden zwei Methoden wählen:

  • Qualifizieren Sie Mitglieder mithilfe von Typnamen:

    <code class="language-csharp">  MyClass.MyItem.Property1</code>
    Nach dem Login kopieren
  • Entfernen Sie den Modifikator „statisch“ aus dem Mitglied: Dadurch wird das Mitglied von einem statischen Mitglied in ein Instanzmitglied geändert, sodass Sie mithilfe der Instanzsyntax darauf zugreifen können.

Das obige ist der detaillierte Inhalt vonWarum kann ich mit der Instanzsyntax in C# nicht auf ein statisches Mitglied zugreifen?. 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