1

我正在使用泛型集合库 C5(服务器关闭 :-( )并且我有一个 IntervalHeap(T),我需要删除或替换不是最大值或最小值的 T。如何从我的 T 中获取 IPriorityQueueHandle ? C5 库源代码显示 IPriorityQueueHandle(T) 没有要实现的方法或属性,编译器认为我的 T 的 IPriorityQueueHandle(T) 实现是可以接受的。我尝试使用这样的 T:

q.Replace(t, t);

并且 C5 库抛出 InvalidCastException 因为它无法将我的 T 转换为(句柄)。

4

1 回答 1

2

看起来我可以在调用 q.Add(ref t.handle, t) 时获得一个 IPriorityQueueHandle(t)用 q.Replace(t.handle, t)。

于 2010-06-09T23:38:53.907 回答