Error del compilador CS1031

Type expected

No se ha especificado un tipo cuando se esperaba, al sobrecargar un operador.
El tipo que falta en este caso significa que no hay ningún tipo especificado para el tipo de valor devuelto del operador sobrecargado. Este error no debe confundirse con el parámetro de tipo genérico que falta.

Example

El ejemplo siguiente genera la advertencia CS1031:

namespace x
{
    public class I
    {
    }

    public class A
    {  
        public static operator +(A a)    // CS1031 - Overloaded operator missing a type
        {
            return new I();
        }

        public static I operator +(A a)  // Correct - type was specified
        {
            return new I();
        }
    }
}