C# Error
CS1661 – Cannot convert {0} to type ‘{1}’ because the parameter types do not match the delegate parameter types
Reason for the Error & Solution
Cannot convert anonymous method block to delegate type ‘delegate type’ because the specified block’s parameter types do not match the delegate parameter types
This error occurs if, in an anonymous method definition, the parameter types of the anonymous method do not match the delegate parameter types. Check the number of parameters, the parameter types, and any ref or out parameters and verify an exact match.
The following sample generates CS1661:
// CS1661.cs
delegate void MyDelegate(int i);
class C
{
public static void Main()
{
MyDelegate d = delegate(string s) { }; // CS1661
}
}