Поделиться через


Ошибка компилятора CS1662

Обновлен: Ноябрь 2007

Сообщение об ошибке

Невозможно преобразовать блок анонимного метода в тип делегата "delegate type", поскольку некоторые из возвращаемых типов в этом блоке не могут быть неявно преобразованы в возвращаемый тип делегата
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

Эта ошибка возникает, если тип возвращаемого оператора блока анонимного метода не мог быть неявно преобразован в возвращаемый тип делегата.

В следующем примере возникает ошибка 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; };
  }
}