CS1661 de erro do compilador

Mensagem de erro

Não é possível converter bloco de métodos anônimo 'tipo delegate' do tipo de delegado porque os tipos de parâmetro do bloco especificado não correspondem aos tipos de parâmetro delegate

Este erro ocorre se em uma definição de método anônimo, os tipos de parâmetro do método anônimo não corresponderem a tipos de parâmetro delegado.Verifique o número de parâmetros, os tipos de parâmetro e qualquer ref ou parâmetros de saída e se uma correspondência exata.

O exemplo a seguir gera CS1661:

// CS1661.cs

delegate void MyDelegate(int i);

class C
{
    public static void Main()
    {
        MyDelegate d = delegate(string s) { };  // CS1661
    }
}