2011-08-25 82 views
0

爲什麼不能限定在下面的例子中LLSGroupsWithItems(它不會編譯):無法創建的自定義類的ObservableCollection <的ObservableCollection <T>>

public class LLSGroupsWithItems<Group<T>> : ObservableCollection<Group<T>> 
    { 

    } 

    public class Group<T> : ObservableCollection<T> 
    { 
     public Group(string name, IEnumerable<T> items) 
     { 
      this.Key = name; 
      foreach (T item in items) 
      { 
       this.Add(item); 
      } 
     } 

     public override bool Equals(object obj) 
     { 
      Group<T> that = obj as Group<T>; 

      return (that != null) && (this.Key.Equals(that.Key)); 
     } 

     public string Key 
     { 
      get; 
      set; 
     } 
    } 

編譯器錯誤是:

Type parameter declaration must be an identifier not a type. 

長的故事:

我已經看到了有關如何動態地添加項目到一個表單ObservableCollection<ObservableCollection<T>>,b的結構上WindowsPhoneGeek爲例ut我想在我的LongListSelector所綁定的集合中封裝一個自動分組功能,這樣我就不必總是查看要添加特定項目的組。爲此,我想,我需要創建一個我想要定義的類,但是C#限制或者其他東西不會讓我知道。請解釋原因。謝謝。

+2

Visual Studio 2010的啓動速度很慢,所以我懶得粘貼它,看看編譯器給出了什麼錯誤。 – BoltClock

+0

如何告訴我們錯誤信息是什麼? –

回答

4

不應該這樣

public class LLSGroupsWithItems<Group<T>> : ObservableCollection<Group<T>> 
{ 
} 

這樣寫呢?

public class LLSGroupsWithItems<T> : ObservableCollection<Group<T>> 
{ 
} 
+0

哦,你可能是對的。我會嘗試。謝謝。 –

相關問題