public static bool operator +(Competencia c, VehiculoDeCarrera v)
        {
            Random random = new Random();
            bool   returnAux = false, contiene = false;

            try
            {
                contiene = c == v;
            }
            catch (CompetenciaNoDisponibleException compEx)
            {
                var st = new StackTrace();
                var sf = st.GetFrame(0);
                var currentMethodName = sf.GetMethod();
                CompetenciaNoDisponibleException newEx = new CompetenciaNoDisponibleException(
                    "Competencia incorrecta", c.GetType().ToString(), currentMethodName.ToString(), compEx);
                throw newEx;
            }
            if (c.competidores.Count < c.cantidadCompetidores)
            {
                c.competidores.Add(v);
                v.EnCompetencia       = true;
                v.VueltasRestantes    = c.cantidadVueltas;
                v.CantidadCombustible = (short)random.Next(15, 100);
                returnAux             = true;
            }
            return(returnAux);
        }
        public static bool operator ==(Competencia c, VehiculoDeCarrera v)
        {
            bool returnAux = false, contiene = false;

            foreach (VehiculoDeCarrera vehiculoDeCarrera in c.competidores)
            {
                if (vehiculoDeCarrera.Numero == v.Numero)
                {
                    contiene = true;
                    break;
                }
            }
            if (!contiene)
            {
                switch (c.Tipo)
                {
                case TipoCompetencia.F1:
                    if (v is AutoF1)
                    {
                        returnAux = true;
                    }
                    break;

                case TipoCompetencia.MotoCross:
                    if (v is MotoCross)
                    {
                        returnAux = true;
                    }
                    break;
                }
            }
            if (contiene && !returnAux)
            {
                var st = new StackTrace();
                var sf = st.GetFrame(0);
                var currentMethodName = sf.GetMethod();
                CompetenciaNoDisponibleException competenciaEx = new CompetenciaNoDisponibleException(
                    "El vehículo no corresponde a la competencia", c.GetType().ToString(), currentMethodName.ToString());
                throw competenciaEx;
            }
            return(returnAux);
        }