0

为什么我不能在以下示例中定义 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# 限制或其他东西不会让我这样做。请解释原因。谢谢。

4

1 回答 1

4

这不应该

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

改为这样写?

public class LLSGroupsWithItems<T> : ObservableCollection<Group<T>>
{
}
于 2011-08-25T08:55:31.500 回答