Błąd kompilatora CS1031

Type expected

Typ nie został określony w oczekiwanym miejscu podczas przeciążania operatora.
Brak typu w tym przypadku oznacza, że nie ma żadnego typu dla zwracanego typu przeciążonego operatora. Ten błąd nie powinien być mylony z brakującym parametrem typu ogólnego.

Example

Poniższy przykład generuje 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();
        }
    }
}