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 ‚
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>
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!