<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0507</ErrorName>
  <Examples>
    <string>// CS0507: `DerivedClass.Message.set': cannot change access modifiers when overriding `public' inherited member `BaseClass.Message.set'
// Line: 19

class BaseClass {
        public virtual string Message {
		get {
			return "";
		}
		set {}
	}
}

class DerivedClass : BaseClass {
		public override string Message {
		get {
			return "";
		}
		
		private set {}
	}
}

</string>
    <string>// CS0507: `Class2.GetString()': cannot change access modifiers when overriding `protected internal' inherited member `Class1.GetString()'
// Line: 7
// Compiler options: -r:CS0507-7-lib.dll

public sealed class Class2 : Class1
{
	protected override string GetString ()
	{
		return "Hello2";
	}
}
</string>
    <string>// CS0507: `DerivedClass.Message.set': cannot change access modifiers when overriding `protected' inherited member `BaseClass.Message.set'
// Line: 15

class BaseClass {
        public virtual string Message {
		get {
			return "";
		}
		protected set {
		}
	}
}

class DerivedClass : BaseClass {
        public override string Message {
		get {
			return "";
		}
		set {
		}
	}
}

</string>
    <string>// CS0507: `DerivedClass.Test': cannot change access modifiers when overriding `protected' inherited member `BaseClass.Test'
// Line: 11

using System;

class BaseClass {
        protected virtual event EventHandler Test;
}

class DerivedClass: BaseClass {
        public override sealed event EventHandler Test;
}

</string>
    <string>// CS0507: `Bar.X()': cannot change access modifiers when overriding `protected internal' inherited member `Foo.X()'
// Line: 13

class Foo
{
	protected internal virtual void X ()
	{
	}
}

class Bar : Foo
{
	protected override void X ()
	{
	}
}
</string>
    <string>// CS0507: `DerivedClass.Show()': cannot change access modifiers when overriding `protected' inherited member `BaseClass.Show()'
// Line: 9

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

class DerivedClass: BaseClass {
        public override void Show () {}
}

</string>
    <string>// CS0507: `Class2.GetString()': cannot change access modifiers when overriding `protected' inherited member `Class1.GetString()'
// Line: 7
// Compiler options: -r:CS0507-8-lib.dll

public sealed class Class2 : Class1
{
	protected internal override string GetString ()
	{
		return "Hello2";
	}
}
</string>
    <string>// CS0507: `DerivedClass.Message': cannot change access modifiers when overriding `public' inherited member `BaseClass.Message'
// Line: 12

class BaseClass {
	public virtual string Message {
		set {
		}
	}
}

class DerivedClass : BaseClass {
	protected override string Message {
		set {
		}
	}
}

</string>
  </Examples>
</ErrorDocumentation>