至少一个对象必须实现IComparable,已实现IComparable

奶牛

首先,我知道这个问题已经被问过多次了,但是这些解决方案对我没有帮助。

我有以下内容Classes

public class PartType : IComparable<PartType>
{
    public int CompareTo(PartType other)
    {
        return this.Type.CompareTo(other.Type);
    }

    // Some code

    public int Id { get; set; }
    public string Type { get; set; }
}

上面的类在下面的类中使用。

public class Part : IComparable<Part>
{
    public int CompareTo(Part other)
    {
        return this.Material.CompareTo(other.Material);
    }

    public string Material { get; set; }
    public PartType Type { get; set; }
}

现在,我有了一个ObservableCollection<PartType>我可以排序的东西而没有任何问题string Type(不需要做任何其他事情)。

我的另一个ObservableCollection<Part>我可以排序,string Material但不能排序PartType Type(对不起,两次使用单词Type造成的混乱)。

eFloh

IComparable没有实现,只有IComparable<T>...

在您的情况下,用于排序的方法ObservableCollection<T>似乎期望实现该非泛型接口。(您没有说明如何排序!)。

如果您使用的是System.Linq.OrderBy扩展程序,则它应仅适用于通用接口,因为Comparer.Default具有内部回退。

您应该始终为类实现泛型和非泛型接口,以支持与调用者是否“理解”泛型无关的常见行为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

至少一个对象必须实现IComparable调用OrderBy()

来自分类Dev

通用比较抛出“至少一个对象必须实现IComparable”。

来自分类Dev

通用列表排序。至少一个对象必须实现IComparable

来自分类Dev

使用Linq .Min()-至少一个对象必须实现IComparable

来自分类Dev

如何解决问题:“至少一个对象必须实现IComparable。”

来自分类Dev

至少一个对象必须在 Min() 中实现 IComparable

来自分类Dev

LINQ 查询结果中的“至少一个对象必须实现 IComparable”异常

来自分类Dev

仅当将方法ToList()应用于IQueryable <>时,获取异常““至少一个对象必须实现icomparable””

来自分类Dev

在Delphi中,如何拥有一个实现IComparable并从TEqualityComparer继承的类?

来自分类Dev

Lumen count():参数必须是一个数组或一个实现了Countable的对象

来自分类Dev

Drupal:count():参数必须是一个数组或者一个实现了Countable的对象

来自分类Dev

我应该实现IEquatable还是IComparable?

来自分类Dev

Mono中的通用IComparable实现问题

来自分类Dev

为什么Nullable <T>不实现IComparable?

来自分类Dev

Mono中的通用IComparable实现问题

来自分类Dev

IComparable 实现 - 比较运算符重载

来自分类Dev

即使对象未实现接口,编译器如何允许将对象转换为IComparable?

来自分类Dev

实现一个常量对象列表

来自分类Dev

如何实现一个空对象?

来自分类Dev

count():参数必须是一个数组或者一个在php 7.2.1中实现Countable的对象

来自分类Dev

为什么我需要实现IComparable <T>来比较通用方法中的两个值?

来自分类Dev

CreateDelegate派生类必须提供一个实现

来自分类Dev

IEquatable <T>的Equals()是否应该通过IComparable <T>的CompareTo()实现?

来自分类Dev

如何在C#中实现多类型IComparable / IEquatable

来自分类Dev

具有实现IComparable的元素的SortedSet无法正确删除元素

来自分类Dev

IComparable.CompareTo-实现异步比较,等待按钮按下

来自分类Dev

尝试使用 Azure SQL 服务器时 Laravel 的问题;count():参数必须是一个数组或者一个实现了Countable的对象

来自分类Dev

count(): 参数必须是一个数组或一个对象,它在 PHP 中的 LINE 428 错误处实现了 Countable

来自分类Dev

验证对象必须至少具有一个操作员/流星蒙哥

Related 相关文章

  1. 1

    至少一个对象必须实现IComparable调用OrderBy()

  2. 2

    通用比较抛出“至少一个对象必须实现IComparable”。

  3. 3

    通用列表排序。至少一个对象必须实现IComparable

  4. 4

    使用Linq .Min()-至少一个对象必须实现IComparable

  5. 5

    如何解决问题:“至少一个对象必须实现IComparable。”

  6. 6

    至少一个对象必须在 Min() 中实现 IComparable

  7. 7

    LINQ 查询结果中的“至少一个对象必须实现 IComparable”异常

  8. 8

    仅当将方法ToList()应用于IQueryable <>时,获取异常““至少一个对象必须实现icomparable””

  9. 9

    在Delphi中,如何拥有一个实现IComparable并从TEqualityComparer继承的类?

  10. 10

    Lumen count():参数必须是一个数组或一个实现了Countable的对象

  11. 11

    Drupal:count():参数必须是一个数组或者一个实现了Countable的对象

  12. 12

    我应该实现IEquatable还是IComparable?

  13. 13

    Mono中的通用IComparable实现问题

  14. 14

    为什么Nullable <T>不实现IComparable?

  15. 15

    Mono中的通用IComparable实现问题

  16. 16

    IComparable 实现 - 比较运算符重载

  17. 17

    即使对象未实现接口,编译器如何允许将对象转换为IComparable?

  18. 18

    实现一个常量对象列表

  19. 19

    如何实现一个空对象?

  20. 20

    count():参数必须是一个数组或者一个在php 7.2.1中实现Countable的对象

  21. 21

    为什么我需要实现IComparable <T>来比较通用方法中的两个值?

  22. 22

    CreateDelegate派生类必须提供一个实现

  23. 23

    IEquatable <T>的Equals()是否应该通过IComparable <T>的CompareTo()实现?

  24. 24

    如何在C#中实现多类型IComparable / IEquatable

  25. 25

    具有实现IComparable的元素的SortedSet无法正确删除元素

  26. 26

    IComparable.CompareTo-实现异步比较,等待按钮按下

  27. 27

    尝试使用 Azure SQL 服务器时 Laravel 的问题;count():参数必须是一个数组或者一个实现了Countable的对象

  28. 28

    count(): 参数必须是一个数组或一个对象,它在 PHP 中的 LINE 428 错误处实现了 Countable

  29. 29

    验证对象必须至少具有一个操作员/流星蒙哥

热门标签

归档