为什么我不能在以下示例中定义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#限制或某些东西不会让我。请解释原因。谢谢。
答案 0 :(得分:4)
不应该这个
public class LLSGroupsWithItems<Group<T>> : ObservableCollection<Group<T>>
{
}
这样写的是什么?
public class LLSGroupsWithItems<T> : ObservableCollection<Group<T>>
{
}