C#优先级队列,通用类型<;T>;转换 公共类优先级队列:IPriorityQueue 其中T:i可比较

C#优先级队列,通用类型<;T>;转换 公共类优先级队列:IPriorityQueue 其中T:i可比较,c#,generics,queue,priority-queue,C#,Generics,Queue,Priority Queue,因此,我用上面的头创建了一个优先级队列类,并尝试将其用于另一个类 public class PriorityQueue<T> : IPriorityQueue<T> where T : IComparable 私有静态优先队列PQ; 看起来这应该很好,但我收到了这个错误 在泛型方法namespace.PriorityQueue中,Mynamespace.Order不能用作类型参数T。没有从名称空间.Order到

因此,我用上面的头创建了一个优先级队列类,并尝试将其用于另一个类

public class PriorityQueue<T> : IPriorityQueue<T> 
                            where T : IComparable
私有静态优先队列PQ;
看起来这应该很好,但我收到了这个错误

在泛型方法
namespace.PriorityQueue
中,My
namespace.Order
不能用作类型参数
T
。没有从
名称空间.Order
System.IComparable的隐式转换


我真的不明白那是在告诉我做什么。这是否意味着我的
IComparable
实现不足以实现此目的,或者我使用的是某种糟糕的语法?

它说,您的泛型类型参数(即
Order
type)应该实现接口。

Doh。非常感谢。我已经注释掉了我的接口,后来忘了删除它们。再次感谢。
        private static PriorityQueue<Order> PQ;