0
Je crée une classe interne imbriquée dans une classe générique et je ne suis pas sûr si j'écris correctement. Est-ce qu'il y a quelque chose qui cloche ici?Comparaison de classes internes imbriquées dans la classe générique
Voici le code:
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);
}
}
Est-il travailler ou est-il un problème Pouvez-vous être? –
Cela fonctionne, mais je me demande s'il existe une meilleure méthode que d'avoir à faire un cast dans le CompareTo interne. –