Compiler Error CS1594

Delegate 'delegate' has some invalid arguments

The type of an argument passed to a delegate invocation does not agree with the type of the parameter in the delegate declaration.

The following sample generates 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);
   }
}