我有盒装RegistryItem对象定义了如下的IComparer:“无法转换为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(这真的应该是一个List <RegistryItem
>,但这是我无法控制的)。
ArrayList regItems = new ArrayList();
// fill up the list ...
BoxedRegistryItemComparer comparer = new BoxedRegistryItemComparer();
ArrayList.sort(comparer);
然而,最后行给出了编译器错误:“无法从BoxedRegistryItemComparer转换为System.Collections.IComparer”。如果有人能指出我的错误,我将不胜感激。