我正在使用WPF博士的ObservableSortedDictionary。
构造函数如下所示:
public ObservableSortedDictionary(IComparer<DictionaryEntry> comparer)
我真的在努力创建一个满足构造函数和工作的实现。
我当前的代码(不会编译)是:
public class TimeCreatedComparer<T> : IComparer<T>
{
public int Compare(T x, T y)
{
var myclass1 = (IMyClass)((DictionaryEntry)x).Value;
var myclass2 = (IMyClass)((DictionaryEntry)y).Value;
return myclass1.TimeCreated.CompareTo(myclass2.TimeCreated);
}
}
它说我不能从T到DictionaryEntry。
如果我直接强制转换到imyclass,它会编译,但我会得到一个运行时错误,说我不能从DictionaryEntry强制转换到imyclass。在运行时,x和y是DictionaryEntry的实例,每个实例的值都是正确的imyclass。