gpt4 book ai didi

c# - "Cannot convert to IComparer"

转载 作者:行者123 更新时间:2023-12-03 18:18:39 28 4
gpt4 key购买 nike

我为装箱的 RegistryItem 对象定义了以下 IComparer:

public class BoxedRegistryItemComparer : IComparer<object>
{
public int Compare(object left, object right)
{
RegistryItem leftReg = (RegistryItem)left;
RegistryItem rightReg = (RegistryItem)right;

return string.Compare(leftReg.Name, rightReg.Name);
}
}

我想用它来对盒装 RegistryItems 的 ArrayList 进行排序(它确实应该是一个列表 <RegistryItem>,但这超出了我的控制范围)。
ArrayList regItems = new ArrayList();
// fill up the list ...
BoxedRegistryItemComparer comparer = new BoxedRegistryItemComparer();
ArrayList.sort(comparer);

但是,最后一行给出了编译器错误:“无法从 BoxedRegistryItemComparer 转换为 System.Collections.IComparer”。如果有人能指出我的错误,我将不胜感激。

最佳答案

BoxedRegistryItemComparer应该实现 System.Collections.IComparerArrayList.Sort 一起使用.您实现了 System.Collections.Generic.IComparer<T>这不是一回事。

关于c# - "Cannot convert to IComparer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487193/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com