Metoda niestatyczna wymaga celu?
Nigdy wcześniej nie widziałem tego błędu i jest to bardzo mylące, w zasadzie próbuję coś zrobić, gdy mówię, znajdź wszystkie lokalizacje (zwróci tylko jedną), które pasują do podanej nazwy lokalizacji i typu:
string name = columns[40];
Location type = db.Locations.Where(l => l.name == name).FirstOrDefault();
Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();
Prawdopodobnie jest lepszy sposób na zrobienie tego, co chcę za jednym zamachem, ale zasadniczo otrzymuję nazwę z kolumny (pochodzi ona z pliku csv), a następnie powiedz, uzyskaj informacje o lokalizacji. Po tym mówię ok, teraz, kiedy mam cały ten jazz, idź do mnie z tą nazwą i jej typem.
Ale mam błąd:
Metoda niestatyczna wymaga celu
Metoda najwyższego poziomu, w której działa ten kod, to:
static void Main(string[] args){}
Zasadniczo jest to po prostu aplikacja konsoli. Więc co się dzieje?
db jest klasą kontekstu, powinno to być oczywiste.kolumny czy wyciągam dane z pliku csv, w tym przypadku kolumny [40] byłyby czymś w rodzaju „Nowy Jork”Komunikat o błędzie pełnym z śledzenia stosu: {"Metoda niestatyczna wymaga celu."}
Uwaga: Pytanie opublikowane jako „możliwa odpowiedź” nie pomaga w tym przypadku, ponieważ główna metoda, w której używam tego kodu, jest statyczna.
Po dalszym badaniu odkryłem, że nazwa i typ są puste, więc zrobiłem następującą poprawkę:
if (name != null)
{
Location type = db.Locations.Where(l => l.name == name).FirstOrDefault();
Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();
locationNearbyId = loc.id;
// More code
}
Niestety nadal pojawia się błąd:Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();