正常に動作するクエリがあります
private ObservableCollection<Grouping<string, SEListItemTemplate>> MonkeysGrouped { get; set; }
var sorted = from item in CollPublic
orderby item.Title
group item by item.Title into listData
select new Grouping<string, SEListItemTemplate>(listData.Key, listData);
MonkeysGrouped = new ObservableCollection<Grouping<string, SEListItemTemplate>>(sorted);
list.ItemsSource = MonkeysGrouped;
以下のようなカスタムの並べ替えとグループ化関数を使用したい場合は、どうすればよいですか?
var sorted = from item in CollPublic
orderby (OrderByFunc)
group item by (GroupByFunc) into listData
select new Grouping<string, SEListItemTemplate>(listData.Key, listData);
これを試すと、最後の行 (Select new Grouping..) でコンパイル エラーがスローされます。文字列をオブジェクトに変更すると、正常にコンパイルされますが、実行時にエラーがスローされ、少なくとも 1 つのオブジェクトが Icomparable for Ordering を実装する必要があり、少なくとも 1 つのオブジェクトが Icomparable を実装する必要があります。上記のクエリのグループ化部分に IGrouping を実装します。どうすればこれを達成できますか?
念のため、以下は私のカスタムSort & Group Funcsの定義です
public Func<SEListItemTemplate, Object> OrderByFunc
{
get{return _orderByFunc; }
set {_orderByFunc = value; }
}
public Func<SEListItemTemplate, Object> OrderByFunc
{
get {return _orderByFunc; }
set {_orderByFunc = value; }
}
どんな助けでも大歓迎です。ありがとう