无法创建自定义类ObservableCollection <observablecollection <t>&gt; </observablecollection <t>

时间:2011-08-25 08:52:15

标签: c# generics longlistselector

为什么我不能在以下示例中定义LLSGroupsWithItems(它不会编译):

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.

长篇故事:

我在WindowsPhoneGeek上看到了一个关于如何动态地将项添加到表单ObservableCollection<ObservableCollection<T>>的结构中的示例,但我想在我的LongListSelector绑定的集合中封装自动分组功能,以便我不必总是看,添加特定项目的组。为此,我想,我需要创建一个我想要定义的类,但C#限制或某些东西不会让我。请解释原因。谢谢。

1 个答案:

答案 0 :(得分:4)

不应该这个

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

这样写的是什么?

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