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) { };
}
}