Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS1662

Nie można przekonwertować bloku metody anonimowej na typ delegata "typ delegata", ponieważ niektóre typy zwracane w bloku nie są niejawnie konwertowane na typ zwracany delegata

Ten błąd występuje, jeśli instrukcja return bloku metody anonimowej ma typ, który nie był niejawnie konwertowany na zwracany typ delegata.

Poniższy przykład generuje 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; };
  }
}