<?xml version="1.0" encoding="us-ascii"?>
<ErrorDocumentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ErrorName>CS0109</ErrorName>
  <Examples>
    <string>// cs0109-2.cs: The member `BaseClass.Location' does not hide an inherited member. The new keyword is not required
// Line: 6
// Compiler options: -warnaserror -warn:4

class BaseClass {
        public new int Location { set { } }
}</string>
    <string>// cs0109-3.cs: The member `BaseClass.Val' does not hide an inherited member. The new keyword is not required
// Line: 6
// Compiler options: -warnaserror -warn:4

class BaseClass {
        public new const bool Val = false;
}</string>
    <string>// cs0109-4.cs: The member `Derived.this[string]' does not hide an inherited member. The new keyword is not required
// Line: 10
// Compiler options: -warnaserror -warn:4

class Base {
	public bool this [int arg] { set {} }
}

class Derived : Base {
	public new bool this [string arg] { set {} }
}
</string>
    <string>// cs0109.cs: The member `Derived.Test()' does not hide an inherited member. The new keyword is not required
// Line: 10
// Compiler options: -warnaserror -warn:4

class Base {
	void Test (bool arg) {}
}

class Derived : Base {
	new void Test () {}
}</string>
    <string>// cs0109.cs: The member `Outer.Inner' does not hide an inherited member. The new keyword is not required
// Line: 7
// Compiler options: -warnaserror -warn:4

class Outer
{
    public new class Inner
    {
    }
}</string>
    <string>// cs0109-7.cs: The member `Test.this[string]' does not hide an inherited member. The new keyword is not required
// Line: 9
// Compiler options: -warnaserror -warn:4

using System.Collections;

public class Test: ArrayList
{
    public new string this[string index]
    {
	set
	{
	}
    }
}
</string>
    <string>// cs0109-8.cs: The member `DerivedClass.get_Value()' does not hide an inherited member. The new keyword is not required
// Line: 14
// Compiler options: -warnaserror -warn:4

class BaseClass {
        protected virtual int Value { 
                get {
                        return 0;
                }
                set { }
        }
}

abstract class DerivedClass: BaseClass {
        protected new int get_Value () {
                return 1;
        }
}


class ErrorClass: DerivedClass {
        protected override int Value { 
                get {
                        return 0;
                }
                set { }
        }

		static void Main () {}
}

</string>
    <string>// cs0109.cs: The member `BaseClass.Location' does not hide an inherited member. The new keyword is not required
// Line: 6
// Compiler options: -warnaserror -warn:4

class BaseClass {
        public new int Location;
}</string>
  </Examples>
</ErrorDocumentation>