gpt4 book ai didi

c# - 为 IComparer 实现 IComparer

转载 作者:行者123 更新时间:2023-11-30 22:46:26 24 4
gpt4 key购买 nike

我正在使用 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 作为它们的值。

最佳答案

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);
}
}

这是否满足需要?

关于c# - 为 IComparer<DictionaryEntry> 实现 IComparer<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2648442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com