public class x : y
{
public Func<user, bool> SendStuffAction = SendStuff;
//overridden from y
public override bool SendStuff(user u)
{
//do stuff
}
}
den obigen Code machen, wo SendStuff eine lokale Instanz überschriebene Methode ist, erhalte ich einen Kontextfehler, dass SendStuff nicht statisch zu sein. Kann ein Delegat nicht auf eine Instanzmethode innerhalb derselben Klasse zeigen, für die die Methode SendStuff existiert?Mit Func mit Instanz-Methode
Fehler sind: kann nicht statische Methode Zugriff in einem nicht-statischen Kontext
Was passiert, wenn die Methode privat ist, warum sollte es dann nicht funktionieren.
Post mehr Code. dieses Stück sieht gut aus – Andrey
kann jemand erklären, warum SendStuffAction als statisch behandelt wird? – SWeko
Wenn Sie eine Methode als Feldinitialisierer verwenden, muss es immer eine statische Methode sein. Es gibt keine Möglichkeit zu garantieren, dass die Instanz in einem konsistenten Zustand ist, bevor die Felder initialisiert werden, so dass Instanzmethoden nicht erlaubt sind. – Toby