CS1678 de erro do compilador

Mensagem de erro

Parâmetro 'número' está declarado sistema autônomo tipo 'tipo' mas deveria ser 'type2'

Este erro ocorre quando o tipo de parâmetro em um método anônimo é diferente da declaração do delegado para que está lançando o método.

O exemplo a seguir gera 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) { };
   }
}