Meilleur usage de Icomparer
Bonjour
Je me pose quelques questions sur le meilleurs usage de l'interface Icomparer et je pense que je n'ai pas bien capté qq chose
J'ai une classe adresse C_Adr
Pour pouvoir trier des liste de C_Adr, j'ai défini (en dehaos de C_Adr) une Classe C_AdrComparer héritant de IComparer
Donc quand je veux faire un tri, j'appelle
Code:
List.Sort(new C_AdrComparer());
Mais je dois aussi pouvoir comparer une adresse A avec une adresse B
Je peux evidemment utiliser une instance de C_AdrComparer et comparer A et B
Code:
1 2
| C_AdrComparer Acompare=new C_AdrComparer();
int dif=Acompare(A,B); |
Mais j'aurais préféré utiliser une methode CompareTo() définie dans ma classe Adresse
Donc ma question :
Quelle est la methode la plus elégante pour definir une seule methode de comparaison que je pourrais utiliser a la fois dans une Methode CompareTo et dans un Sort()
Actuellement je cree une instance de C_AdrComparer dans une methode publique CompareTo de C_Adr
Code:
1 2 3 4 5
| public int CompareTo(CDB_Adresse B)
{
C_AdrComparer cmp = new C_AdrComparer();
return cmp.Compare(this,B);
} |
Est ce la meilleure maniere ?
Merci de vos conseils