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.

長い話:

form の構造にアイテムを動的に追加する方法について、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 に答える