C# Error
CS1660 – Cannot convert {0} to type ‘{1}’ because it is not a delegate type
Reason for the Error & Solution
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();
}
}