2016-02-29 171 views
0

我的問題是執行此代碼時出錯。這個功能完全適用於其他利用。錯誤代碼 - 非靜態方法需要目標

這是我的完整功能的代碼:

public List<t_heure_indemnite> GetAllHeureIndemnite(FirmMda f, bool justeActive) 
{ 
    List<t_heure_indemnite> lHi = new List<t_heure_indemnite>(); 
    ce = new callistoEntities(); 
    try 
    { 
     var load = from i in ce.t_heure_indemnite 
        where i.FIRM == f.Name 
        select i; 
     if (load != null) 
     { 
      List<t_heure_indemnite> liste = load.ToList(); 
      foreach (t_heure_indemnite h in liste) 
      { 
       lHi.Add(h); 
      } 
     } 
    } 
    catch (Exception e) 
    { 
     MsgBox.Show(globale.AfficheErreur(e)); 
    } 
    if (justeActive) 
     return lHi.Where(i => i.ACTIVE == true).OrderBy(j => j.ORE).ToList(); 
    else 
     return lHi.OrderBy(j => j.ORDRE).ToList(); 
} 

異常存在而執行:非靜態方法需要一個目標。 它在調用load.ToList時出現。 它被稱爲公開的方法,並在一個導入traitement到另一個列表。

我不知道問題在哪裏。你能幫我嗎 ?

+1

Pleae交完整碼-剪斷包括被稱爲並且其中上下文中被稱爲實際方法。此外,錯誤出現在哪一行? – HimBromBeere

+3

我期望這是一個*編譯時*錯誤,而不是一個例外。什麼*確切*是錯誤 - 請給所有*你所擁有的信息。 (另外,我會*強烈*建議你開始遵循正常的.NET命名約定。) –

回答

0

當您在lambda表達式中使用空引用變量時,可能會發生這種情況。我會建議檢查你的變量ce.t_heure_indemnite是否爲空引用。

if(ce.t_heure_indemnite != null) 
+0

不是這樣,我已經添加了一個測試並且不爲空引用 – Moussawi

+0

也檢查f.Name – Katia

相關問題