我有一个List<T>,其中T是公开“用户名”属性的类。用户名是封装字符串的自定义类型。我在此自定义类型上实现了IComparable<T>接口(interface),该接口(interface)仅返回

this.encapsulatedString.CompareTo(other.encapsulatedString)

我这样定义了列表的ICollectionView:
AllUsers=CollectionViewSource.GetDefaultView(myList);

我添加了一个Sortdescription:
AllUsers.SortDescriptions.Add(new SortDescription("Username",ListSortDirection.Ascending));

在这一行,代码抛出标题中指出的异常。我可以通过其他方式对列表进行排序。异常来自哪里?

最佳答案

Stupidstupidstupid:自定义类型必须实现IComparableIComparable<T>似乎SortDescription使用了CompareTo的老式非通用版本

我要睡一些觉...

07-26 01:50