C#优先级队列,泛型类型<T>转换

use*_*843 -1 c# generics queue priority-queue

public class PriorityQueue<T> : IPriorityQueue<T> 
                            where T : IComparable
Run Code Online (Sandbox Code Playgroud)

所以,我已经使用上面的Header创建了一个优先级队列类,我试图将它与另一个类一起使用.

        private static PriorityQueue<Order> PQ;
Run Code Online (Sandbox Code Playgroud)

看起来这应该完全正常,但我收到了这个错误.

namespace.Order不能T在泛型方法中用作类型参数namespace.PriorityQueue<T>.有没有隐式转换从namespace.OrderSystem.IComparable

我无法辨别出这是告诉我要做什么的.这是否意味着我的IComparable实现不足以达到此目的,还是我正在使用某种错误的语法?

Dzm*_*voi 6

它说,你的泛型类型参数(即Order类型)应该实现IComparable接口.