我正在学习 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/