<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0407</ErrorName>
  <Examples>
    <string>// CS0407: A method or delegate `int X.f(int)' return type does not match delegate `object X.Function(int)' return type
// Line: 17

using System;

class X
{
	public delegate object Function(int arg1);

	static void Main ()
	{
		Delegate d = new Function (f);
	}

	static int f (int a)
	{
		return 1;
	}
}
</string>
    <string>// CS0407: A method or delegate `int Program.Foo(object)' return type does not match delegate `void System.Action&lt;dynamic&gt;(dynamic)' return type
// Line: 10

using System;

class Program
{
	static void Main()
	{
		Action&lt;dynamic&gt; d = Foo;
	}

	static int Foo (object o)
	{
		return 0;
	}
}
</string>
    <string>// CS0407: A method or delegate `int TestDelegateA(bool)' return type does not match delegate `bool TestDelegateB(bool)' return type
// Line: 12

delegate int TestDelegateA (bool b);
delegate bool TestDelegateB (bool b);

public class MainClass
{
	public static int Delegate(bool b)
	{
		return 0;
	}

	public static void Main() 
	{
		TestDelegateA a = new TestDelegateA (Delegate);
		TestDelegateB b = new TestDelegateB (a);
	}
}

</string>
    <string>// CS0407: A method or delegate `dynamic Program.Foo()' return type does not match delegate `string System.Func&lt;string&gt;()' return type
// Line: 10

using System;

class Program
{
	static void Main()
	{
		Func&lt;string&gt; d = Foo;
	}

	static dynamic Foo ()
	{
		return 1;
	}
}
</string>
    <string>// CS0407: A method or delegate `int MainClass.Delegate()' return type does not match delegate `void TestDelegate()' return type
// Line: 12

delegate void TestDelegate();

public class MainClass {
        public static int Delegate() {
                return 0;
        }

        public static void Main() {
                TestDelegate delegateInstance = new TestDelegate (Delegate);
       }
}
</string>
    <string>// CS0407: A method or delegate `TestDelegateA MainClass.Method(bool)' return type does not match delegate `int TestDelegateA(bool)' return type
// Line: 12

delegate int TestDelegateA (bool b);

public class MainClass
{
	static TestDelegateA Method (bool b)
	{
		return Method;
	}
}

</string>
    <string>// CS0407: A method or delegate `int int.Parse(string)' return type does not match delegate `object Test.Conv(string)' return type
// Line: 17

using System;

public class Test
{
	private delegate object Conv(string str);

	public static void Main()
	{
		Conv c = new Conv(int.Parse);
	}
}
</string>
  </Examples>
</ErrorDocumentation>