C# Error CS1661 – Cannot convert {0} to type ‘{1}’ because the parameter types do not match the delegate parameter types

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  
    }  
}  

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...