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