0
제네릭 클래스 내에서 중첩 된 내부 클래스를 만드는 중이며 제대로 작성하고 있는지 확신 할 수 없습니다. 여기서 눈부신 무엇인가 잘못 있습니까?일반 클래스 내에서 중첩 된 내부 클래스 비교
public class Foo<T> where T : IComparable<T>
{
protected class Bar : IComparable
{
private KeyValuePair<T, string> _keyval;
public Bar(KeyValuePair<T, string> kv)
{
_keyval = kv;
}
public int CompareTo(object obj)
{
T comparing = (T)obj;
return _keyval.Key.CompareTo(comparing.key);
}
}
private List<Bar> _bars;
public Foo()
{
_bars = new List<Bar>();
}
public void AddKeyValInOrder(KeyValuePair<T, string> kv)
{
Bar toAdd = new Bar(kv);
int positionToAddAt = _bars.BinarySearch(toAdd);
if (positionToAddAt < 0)
positionToAddAt = positionToAddAt^-1;
_bars.Insert(positionToAddAt, toAdd);
}
}
가 작동되거나 문제가 당신이 될 수 있을까?? 특정? –
그것은 작동하지만 내부 compareTo에 캐스트를 만드는 것보다 더 좋은 방법이 있는지 궁금합니다. –