Ciao ho provato c'è un modo di fare l'overload di qualche interfaccia in modo che si possa usare un confronto tipo " < " oppure " > " su delle variabili di tipo object ?
Ho fatto una prova di un overload in questo modo:
codice:
public class CartaTest : IComparable<CartaTest>
{
private string valoreCarta;
private string semeCarta;
List<string> listaSemiCarte = new List<string>();
List<string> listaValoriCarte = new List<string>();
// Costruttore
public CartaTest(string val, string seme)
{
valoreCarta = val;
semeCarta = seme;
listaSemiCarte.Add("Denari");
listaSemiCarte.Add("Coppe");
listaSemiCarte.Add("Spade");
listaSemiCarte.Add("Bastoni");
listaValoriCarte.Add("Asso");
listaValoriCarte.Add("Due");
listaValoriCarte.Add("Tre");
listaValoriCarte.Add("Quattro");
listaValoriCarte.Add("Cinque");
listaValoriCarte.Add("Sei");
listaValoriCarte.Add("Sette");
listaValoriCarte.Add("Otto");
listaValoriCarte.Add("Nove");
listaValoriCarte.Add("Dieci");
}
public int CompareTo(CartaTest altro)
{
if (this.listaValoriCarte.IndexOf(valoreCarta) > altro.listaValoriCarte.IndexOf(altro.valoreCarta))
return 1;
else if (this.listaValoriCarte.IndexOf(valoreCarta) < altro.listaValoriCarte.IndexOf(altro.valoreCarta))
return -1;
else
return 0;
}
public string getValore()
{
return valoreCarta;
}
public string getSeme()
{
return semeCarta;
}
}
Mi funziona col metodo CompareTo ma se provo a fare un confronto " < " mi dice che non si puo fare con variabili di tipo object.
C'è un modo o non si puo'.
Grazie dell'attenzione.
Ciao