gpt4 book ai didi

c# - 强制我的容器类只接受实现 IComparable 的对象的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 23:57:01 24 4
gpt4 key购买 nike

我正在学习 C#。进行以下练习以使用功能。

我有这个类作为我的容器:

class myContainer<T> : List<T>

当我将此结构添加到容器时,它工作正常,因为它具有 IComparable 的实现

interface bla<T> : IComparable<T> {}
struct IString : bla<IString>

当我添加一个没有通过接口(interface)或直接实现 IComparable 的类时,如果我执行类似 Sort() 的操作,我会在运行时收到错误

强制我的容器类只接受实现 IComparable 的对象的最佳方法是什么?

谢谢

最佳答案

class myContainer<T> : List<T>
where T : IComparable<T>
{
...
}

如果可能,您可能还想考虑为您的类支持 IComparable(非泛型版本)。

This MSDN article on generic constraints有关于 where 表达式的更多信息。

关于c# - 强制我的容器类只接受实现 IComparable 的对象的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2402666/

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