Compartir a través de


Error del compilador CS1662

Actualización: noviembre 2007

Mensaje de error

No se puede convertir el bloque de métodos anónimos en el tipo delegado 'tipo delegado' porque algunos de los tipos de valor devuelto del bloque no se pueden convertir implícitamente en el tipo de valor devuelto del delegado
Cannot convert anonymous method block to delegate type 'delegate type' because some of the return types in the block are not implicitly convertible to the delegate return type

Este error aparece si la instrucción return del bloque de métodos anónimos tenía un tipo que no se podía convertir implícitamente al tipo de valor devuelto del delegado.

En el código siguiente se genera el error 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; };
  }
}