C# Error CS1678 – Parameter {0} is declared as type ‘{1}{2}’ but should be ‘{3}{4}’

C# Error

CS1678 – Parameter {0} is declared as type ‘{1}{2}’ but should be ‘{3}{4}’

Reason for the Error & Solution

Parameter ‘number’ is declared as type ‘type1’ but should be ‘type2’

This error occurs when the parameter type in an anonymous method is different from the declaration of the delegate you are casting the method to.

The following sample generates CS1678:

// CS1678  
delegate void D(int i);  
class Errors
{  
   static void Main()
   {  
      D d = delegate(string s) { };   // CS1678  
      // To resolve, use the following line instead:  
      // D d = delegate(int s) { };  
   }  
}  

Leave A Reply

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

You May Also Like

This C# program calculates and displays an upper triangular matrix based on user input. Problem Statement: The program takes the...
This C# program serves as a demonstration of bitwise operators, which are fundamental operators used for manipulating individual bits in...
This C# program is designed to interchange or swap the columns of a matrix. A matrix is a two-dimensional array...