2013-12-16 79 views
-3

Heyy, 我得到這個錯誤:錯誤 2無法隱式轉換類型' System.Collections中。 Generic.List '到' Hilversum.Geluidsfragment錯誤無法隱式轉換類型 'System.Collections.Generic.List <Hilversum.Geluidsfragment>' 到 'Hilversum.Geluidsfragment

在這一行:

Geluidsfragment fragment = bgExperience.GetFragmenten(item) 

在此代碼:

private void info_MouseDoubleClick(object sender, MouseEventArgs e) 
{ 
    int index = this.info.IndexFromPoint(e.Location); 
    string item = info.Items[index].ToString(); 
    tbFragmentNr.Text = item; 
    Geluidsfragment fragment = bgExperience.GetFragmenten(item); 
    try 
    { 
     lbAfspeelInfo.Text = fragment.AlsString(); 

     fragment.Play(); 
    } 
    catch (NullReferenceException ex) 
    { 
     MessageBox.Show("Nummer bestaat niet"); 
    } 
} 

這是GetFragmenten了Methode:

public List<Geluidsfragment> GetFragmenten(String p) 
    { 
     List<Geluidsfragment> resultaten = new List<Geluidsfragment>(); 

     foreach (Geluidsfragment fragment in fragmenten) { 
      if (fragment.Titel.IndexOf(p) != -1) { 
       resultaten.Add(fragment); 
      } 
     } 

     return resultaten; 
    } 

這是AlsString了Methode:

public String AlsString() 
     { 
      return "Nr " + nr + ": " + titel + " - " + TijdsduurString; 
     } 

請幫我:(

+1

它在我看來像方法返回一個List 和變量只是對象的單個實例。 –

回答

1

你調用一個返回

public List<Geluidsfragment> GetFragmenten(String p) 
{ 
    //... 
} 
功能

但是你將它分配給一個不包含列表的變量,而是保存爲英格爾例如:

Geluidsfragment fragment = bgExperience.GetFragmenten(item); 

應該是:

List<Geluidsfragment> fragmenten = bgExperience.GetFragmenten(item); 

編輯:從那裏你會做這樣的事情:

foreach (Geluidsfragment fragment in fragmenten) 
{ 
    fragment.Play(); 
} 

我覺得有一個更根本的問題雖然。看起來你想要在播放音頻片段時雙擊某個東西......但是你的功能會返回多個片段。這真的是你想要的嗎?

+0

哦是的,但現在我有2個新的錯誤: – Rajco

+0

錯誤'System.Collections.Generic.List '沒有包含'Play'的定義,也沒有擴展方法'Play'接受可以找到類型'System.Collections.Generic.List '的第一個參數(您是否缺少使用指令或程序集引用?) – Rajco

+2

@ user3109152:您是否嘗試讀取錯誤消息?或者你期望你會寫一些混亂的代碼,我們會爲你解決它? – zerkms

相關問題