Leer en inglés

Compartir a través de


Error del compilador CS1662

No se puede convertir el bloque de método anónimo al tipo delegado 'tipo delegado' porque algunos de los tipos de valor devuelto del bloque no se pueden convertir implícitamente al tipo de valor devuelto del delegado.

Este error se produce si la instrucción return del bloque de método anónimo tenía un tipo que no se puede convertir implícitamente al tipo de valor devuelto del delegado.

El ejemplo siguiente genera la advertencia 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 = delegate(int i) { return (int)1.0; };
  }
}