Compiler Error CS1660

Cannot convert anonymous method block to type 'type' because it is not a delegate type

This error occurs if you try to assign or otherwise convert an anonymous method block to a type which is not a delegate type.

The following sample generates CS1660:

// CS1660.cs
delegate int MyDelegate();
class C {
   static void Main()
   {
     int i = delegate { return 1; };  // CS1660
     // Try this instead:
     // MyDelegate myDelegate = delegate { return 1; };
     // int i = myDelegate();
   }
}