CS1594 de erro do compilador

Mensagem de erro

delegado 'delegado' tem alguns argumentos inválidos

O tipo de um argumento passado para um Delegar invocação não concorda com o tipo do parâmetro na declaração do delegado.

O exemplo a seguir gera CS1594:

// CS1594.cs
using System;
delegate string func(int i);   // declare delegate

class a
{
   public static void Main()
   {
      func dt = new func(z);
      x(dt);
   }

   public static string z(int j)
   {
      Console.WriteLine(j);
      return j.ToString();
   }

   public static void x(func hello)
   {
      hello("8");   // CS1594
      // try the following line instead
      // hello(8);
   }
}