Compilerfehler CS0236

Ein Feldinitialisierer kann nicht auf das nicht statische Feld bzw. die nicht statische Methode oder Eigenschaft „name“ verweisen.

Instanzfelder können nicht dazu verwendet werden, andere Instanzfelder außerhalb einer Methode zu initialisieren.

So beheben Sie diesen Fehler

Wenn Sie versuchen, eine Variable außerhalb einer Methode zu initialisieren, sollten Sie überlegen, die Initialisierung im Klassenkonstruktor vorzunehmen. Weitere Informationen finden Sie unter Methoden.

Beispiel

Im folgenden Beispiel wird CS0236 generiert und gezeigt, wie Sie diesen Fehler beheben:

public class MyClass
{
    public int i = 5;

    // To fix the error, remove "= i", and uncomment the line in constructor.
    public int j = i;  // CS0236

    public MyClass()
    {
        // Uncomment the following.
        //j = i;
    }
}