我有一个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:自定义类型必须实现IComparable
和IComparable<T>
似乎SortDescription使用了CompareTo的老式非通用版本
我要睡一些觉...