Compiler Error CS1677

Parameter 'number' should not be declared with the 'keyword' keyword

This error occurs when the parameter type modifier in an anonymous method does not match that used in the declaration of the delegate, to which you are casting the method.

Example

The following sample generates CS1677:

// CS1677.cs
delegate void D(int i);
class Errors
{
    static void Main() 
    {
        D d = delegate(out int i) { };   // CS1677
        // To resolve, use the following line instead:
        // D d = delegate(int i) { };

        D d = delegate(ref int j){}; // CS1677
        // To resolve, use the following line instead:
        // D d = delegate(int j){};
    }
}