<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0508</ErrorName>
  <Examples>
    <string>// CS0508: `DerivedClass.Show()': return type must be `void' to match overridden member `BaseClass.Show()'
// Line: 9

class BaseClass {
        protected virtual void Show () {}
}

class DerivedClass: BaseClass {
        protected override bool Show () {}
}

</string>
    <string>// CS0508: `A&lt;T&gt;.B.getT()': return type must be `A&lt;T&gt;.B' to match overridden member `A&lt;A&lt;T&gt;.B&gt;.getT()'
// Line: 10

abstract class A&lt;T&gt;
{
	public abstract T getT ();

	public class B : A&lt;B&gt;
	{
		public override B getT ()
		{
			throw new System.Exception ("The method or operation is not implemented.");
		}
	}
}
</string>
    <string>// CS0508: `A&lt;T&gt;.B.getT()': return type must be `A&lt;T&gt;.B' to match overridden member `A&lt;A&lt;T&gt;.B&gt;.getT()'
// Line: 10

abstract class A&lt;T&gt;
{
	public abstract T getT ();

	public class B : A&lt;B&gt;
	{
		public override B getT ()
		{
			return default (B);
		}
	}
}
</string>
    <string>// CS0508: `A&lt;T&gt;.B&lt;H&gt;.Test()': return type must be `A&lt;T&gt;.B&lt;H&gt;' to match overridden member `A&lt;A&lt;T&gt;.B&lt;H&gt;&gt;.Test()'
// Line: 10

abstract class A&lt;T&gt;
{
	public abstract T Test ();

	public class B&lt;H&gt; : A&lt;B&lt;H&gt;&gt;
	{
		public override B&lt;H&gt; Test ()
		{
			return this;
		}
	}
}
</string>
  </Examples>
</ErrorDocumentation>