CS0407 de erro do compilador

Mensagem de erro

'método de tipo de retorno' tem o tipo de retorno incorreto

O método não era compatível com o tipo de delegado.Os tipos de argumento correspondente, mas o tipo de retorno não era o tipo de retorno correto para esse delegado.Para evitar esse erro, use um método diferente, alterar o tipo de retorno do método ou alterar tipo de retorno do delegado.

Exemplo

O exemplo a seguir gera CS0407:

// CS0407.cs
public delegate int MyDelegate();

class C
{
    MyDelegate d;

    public C()
    {
        d = new MyDelegate(F);  // OK: F returns int
        d = new MyDelegate(G);  // CS0407 – G doesn't return int
    }

    public int F()
    {
        return 1;
    }

    public void G()
    {
    }

    public static void Main()
    {
        C c1 = new C();
    }
}