Was ist statisch an einem Basiskonstruktoraufruf? [Duplikat
Diese Frage hat hier bereits eine Antwort:
Kann nicht auf nicht statisches Feld zugreifen 2 AntwortenDer folgende C # -Code wird nicht kompiliert.
public class BaseType
{
public BaseType(int bar)
{
// Do stuff with bar...
}
}
public class DerivedType : BaseType
{
private int foo;
public DerivedType() : base(foo = 0) {}
}
Der Fehler tritt beim Aufruf des Basiskonstruktors von DerivedType mit der Meldung "Kein Zugriff auf das nicht statische Feld 'foo' im statischen Kontext möglich." Auf. Was sagt mir diese Fehlermeldung? 'foo' ist nicht statisch, ebenso wenig wie die Klassen, und dies sind keine statischen Konstruktoren.