首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为IComparer<DictionaryEntry>实现IComparer<T>

为IComparer<DictionaryEntry>实现IComparer<T>
EN

Stack Overflow用户
提问于 2010-04-16 03:40:50
回答 1查看 765关注 0票数 2

我使用的是WPF博士的ObservableSortedDictionary。

构造函数如下所示:

代码语言:javascript
复制
public ObservableSortedDictionary(IComparer<DictionaryEntry> comparer)

我真的在努力创建一个满足构造器和工作的实现。

我当前的代码(无法编译)是:

代码语言:javascript
复制
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作为它们的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-16 03:45:17

代码语言:javascript
复制
public class TimeCreatedComparer : IComparer<DictionaryEntry> 
{
    public int Compare(DictionaryEntry x, DictionaryEntry y)
    {
        var myclass1 = (IMyClass)x.Value;
        var myclass2 = (IMyClass)y.Value;
        return myclass1.TimeCreated.CompareTo(myclass2.TimeCreated);
    }
}

这是否做了所需的工作?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2648442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档