我從來沒有見過這個錯誤之前和它非常混亂,我基本上是試圖做一些事情,我說找我的所有位置(將只返回一個)相匹配的位置名稱中通過了與類型:非靜態方法需要一個目標?
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();
可能有更好的方法來做我想要的東西,但基本上我從列中獲取名稱(這來自csv文件),然後說,讓我知道位置信息。在此之後,我現在說好了,我已經擁有了所有的爵士樂,去給我一個這個名字和它的類型的位置。
但我得到的錯誤:
非靜態方法需要一個目標
所有這些代碼是運行的最高水平的方法:
static void Main(string[] args){}
本質上它只是一個控制檯應用程序。發生什麼了?
- db是上下文類,這應該是顯而易見的。
- 列是我從CSV文件中提取數據,在這種情況下,列[40]會是這樣的「紐約」從堆棧跟蹤
完整的錯誤信息: {「非「}
注意:發佈爲」可能的答案「的問題在這種情況下無效,因爲我在此代碼中運行的主要方法是靜態的。
經進一步調查,我發現的名稱和類型都爲空的,所以我做了以下修訂:
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
}
唉我仍然得到錯誤的:Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();
哪裏*究竟*是錯誤?什麼是數據庫?什麼是「列」? –
你能發佈完整的錯誤信息嗎?它談論哪種非靜態方法?在哪一行?的 – sepp2k
可能重複的[非靜態方法需要一個目標C#(http://stackoverflow.com/questions/4577191/non-static-method-requires-a-target-c-sharp) – jbabey