CS1662 de erro do compilador

Mensagem de erro

Não é possível converter bloco de método anônimo delegate tipo 'tipo delegado' porque alguns dos tipos de retorno no bloco não são implicitamente conversíveis no tipo de retorno delegate

Este erro ocorre se a demonstrativo return do bloco de métodos anônimo tinha um tipo que não foi implicitamente conversível o tipo de retorno do delegado.

O exemplo a seguir gera CS1662:

// CS1662.cs

delegate int MyDelegate(int i);

class C
{

  public static void Main()
  {
     MyDelegate d = delegate(int i) { return 1.0; };  // CS1662
     // Try this instead:
     // MyDelegate d = dekegate(int i) { return (int)1.0; };
  }
}