public class x : y
{
public Func<user, bool> SendStuffAction = SendStuff;
//overridden from y
public override bool SendStuff(user u)
{
//do stuff
}
}
Biorąc powyższy kod, gdzie SendStuff jest lokalną metodą nadpisywaną, pojawia się błąd kontekstu, który nie jest statyczny dla SendStuff. Czy uczestnik nie może wskazać metody instancji z tej samej klasy, do której istnieje metoda SendStuff?Używanie Func z metodą instancji
Błąd brzmi: nie ma dostępu do statycznej metody w niestatyczny kontekście
Co jeśli metoda jest prywatny, dlaczego nie działają wtedy.
private Func<user, bool> SendStuffAction = SendStuff;
dodaj więcej kodu. ten kawałek wygląda dobrze – Andrey
może ktoś wyjaśnić, dlaczego SendStuffAction jest traktowane jako statyczne? – SWeko
Jeśli używasz metody jako inicjatora pola, zawsze musi to być metoda statyczna. Nie ma możliwości zagwarantowania, że instancja jest w stanie spójnym, zanim pola zostaną zainicjowane, więc metody instancji nie są dozwolone. – Toby