저는 Dr. WPF의 ObservableSortedDictionary를 사용하고 있습니다.IComparer 구현 <T> ICircarer <DictionaryEntry>
생성자는 다음과 같습니다 : 정말 생성자를 충족시키고 작동 구현을 만들기 위해 고군분투
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);
}
}
그것은 내가 DictionaryEntry에 T에서 캐스팅 할 수 없습니다 말했다.
IMyClass로 직접 변환하면 컴파일되지만 DictionaryEntry에서 IMyClass로 변환 할 수 없다는 런타임 오류가 발생합니다. 런타임에 x와 y는 DictionaryEntry의 인스턴스이며 각 인스턴스는 값으로 올바른 IMyClass를가집니다.
ObservableSortedDictionary를 사용하여 여기에 맹목적으로 복사 할 수있는 사람을위한 메모 만 키가 아닌 키를 정렬 할 수 있습니다. – Thomas