我正在尝试对ArrayList
自定义项进行排序并获得“至少一个对象必须实现 IComparable”。尽管已经IComparable
为他们实现了接口。我只是调用默认的Sort()
无参数或任何东西。我要排序的对象的定义如下:
class AssetItem : System.IComparable<AssetItem>
{
public string AssetName { get; set; }
public int AssetID { get; set; }
public int CompareTo(AssetItem item)
{
if (null == item)
{
return 1;
}
else if (this.AssetID < item.AssetID)
{
return -1;
}
else if (this.AssetID == item.AssetID)
{
return this.AssetName.CompareTo(item.AssetName);
}
else
{
return 1;
}
}
这段代码构建得很好。还有一件事要记住,我怀疑这可能是问题所在,虽然我不明白,上面的类是一个内部类。如果这就是让我绊倒的原因,您将如何比较内部类?