1

有人可以向我解释这应该如何工作吗?我遵循了在http://msdn.microsoft.com/en-us/library/234b841s.aspx找到的 MSDN 示例。

我已经制作了自己的 CustomObject 并为它制作了一个比较器。

这是CustomObjectComparer课程:

public class CustomObjectComparer : System.Collections.Generic.IComparer<CustomObject>
{
    public int Compare(CustomObject co1, CustomObject co2)
    {
         //Impementation Omitted
    }

}

然后,当我有一个List<CustomObject>并尝试执行以下操作时,我会遇到编译错误。

List<CustomObject> list = new List<CustomObject>();
CustomObjectComparer comparer = new CustomObjectComparer();
list.Sort(comparer);

错误: Argument 1: cannot convert from 'CustomObjectComparer' to 'System.Collections.Generic.IComparer<CustomObject>'

不是CustomObjectComparerSystem.Collections.Generic.IComparer

4

1 回答 1

4

看起来您的列表包含CustomObjectComparers,而不是CustomObjects。

您可以传递一个可以比较CustomObjectComparers 的比较器,或者(更有可能)将列表更改为 a List<CustomObject>

编辑:如果您有两种名为的类型CustomObject,或者您也有不同的错误,则会发生这种情况。

于 2011-03-03T16:47:09.277 回答