<?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>CS0619</ErrorName>
  <Examples>
    <string>// cs0619-10.cs: `ObsoleteClass' is obsolete: `Do not use it.'
// Line: 10

using System;

[Obsolete("Do not use it.", true)]
class ObsoleteClass {
}

class C: ObsoleteClass
{
}</string>
    <string>// cs0619-11.cs: `I' is obsolete: `Do not use it.'
// Line: 15

using System;

[Obsolete("Do not use it.", true)]
interface I
{
}

class A
{
}

class C: A, I
{
}</string>
    <string>// cs0619-12.cs: `I' is obsolete: `'
// Line: 13

using System;

[Obsolete("", true)]
interface I
{
}

class A
{
        int this [I index] {
                get {
                        return 15;
                }
        }    
}
</string>
    <string>// cs0619-13.cs: `Obsolete' is obsolete: `'
// Line: 11

[System.Obsolete("", true)]
class Obsolete {
}

class MainClass {
        public static void Main ()
        {
                System.Type t = typeof (Obsolete);
        }
}</string>
    <string>// cs0619-14.cs: `AA' is obsolete: `'
// Line: 17

class A
{
}

[System.Obsolete ("", true)]
class AA: A
{
        public void Foo () {}
}

class B {
        public B (A a)
        {
                (a as AA).Foo ();
        }
}</string>
    <string>// cs0619-15.cs: `Test.Test()' is obsolete: `Causes an error'
// Line: 9

using System;
public class Test
{
	[Obsolete ("Causes an error", true)]
	public Test () {}
	public Test (bool flag) : this () {}
}</string>
    <string>// cs0619-16.cs: `Test_A.Test_A()' is obsolete: `Causes an error'
// Line: 13

using System;
public class Test_A
{
	[Obsolete ("Causes an error", true)]
	public Test_A () {}
}

public class Test_B: Test_A
{
	public Test_B (): base () {}
}</string>
    <string>// cs0619-17.cs: `ObsoleteA.ObsoleteA()' is obsolete: `Obsolete struct'
// Line: 7
// Compiler options: -reference:CS0619-17-lib.dll

public class B: ObsoleteA
{
	public B (): base () {}
}</string>
    <string>// cs0619-18.cs: `Obsolete' is obsolete: `!!!'
// Line: 9

[System.Obsolete("!!!", true)]
class Obsolete {
}

class Class {
        public void Method (Obsolete[] o)
        {
        }
}
</string>
    <string>// cs0619-19.cs: `O' is obsolete: `'
// Line: 12

[System.Obsolete("", true)]
class O
{
}

class MainClass {
        public void Method ()
        {
                lock (new O ()) {
                }
        }
}</string>
    <string>// cs0619-2.cs: `ObsoleteIface' is obsolete: `Do not use it.'
// Line: 12

using System;

[Obsolete("Do not use it.", true)]
interface ObsoleteIface {
}


interface Ex: ObsoleteIface
{
}</string>
    <string>// cs0619-20.cs: `ObsoleteException' is obsolete: `'
// Line: 15

using System;

[System.Obsolete("", true)]
class ObsoleteException: Exception {
}

class MainClass {
        public void Method ()
        {
                try {
                }
                catch (ObsoleteException) {
                }
        }
}</string>
    <string>// cs0619-21.cs: `Obsolete' is obsolete: `'
// Line: 12
// Compiler options: -unsafe

[System.Obsolete("", true)]
struct Obsolete {
}

class MainClass {
        unsafe public static void Main ()
        {
                System.Console.WriteLine (sizeof (Obsolete));
        }
}</string>
    <string>// cs0619-22.cs: `AA' is obsolete: `'
// Line: 12

[System.Obsolete ("", true)]
class AA
{
}

class B {
        public bool Foo (object b)
        {
                return b is AA;
        }
}</string>
    <string>// CS0619: `AA' is obsolete: `'
// Line: 13

[System.Obsolete ("", true)]
class AA
{
        public void Foo () {}
}

class B {
        public B (object a)
        {
                object o = ((AA)a);
        }
}</string>
    <string>// cs0619-24.cs: `Obsolete' is obsolete: `'
// Line: 19
// Compiler options: -unsafe

class Box {
        public Helper o;
}

[System.Obsolete("", true)]
unsafe struct Obsolete {
}

unsafe struct Helper {}

class MainClass {
        unsafe public static void Main ()
        {
                Box b = new Box ();
                fixed (Obsolete* p = &amp;b.o)
                {
                }
        }
}</string>
    <string>// cs0619-25.cs: `A' is obsolete: `'
// Line: 9

[System.Obsolete ("", true)]
class A
{
}

class AA
{
        public AA ()
        {
                foreach (A aa in new System.Collections.ArrayList ()) {
                        System.Console.WriteLine (aa);
                }
        }
}
</string>
    <string>// cs0619-26.cs: `A' is obsolete: `'
// Line: 13

[System.Obsolete ("", true)]
class A
{
}

class AA
{
        public AA ()
        {
                for (A aa = null; aa != null;) {
                        System.Console.WriteLine (aa);
                }
        }
}
</string>
    <string>// cs0619-27.cs: `I' is obsolete: `Do not use it'
// Line: 12

using System;

[Obsolete("Do not use it", true)]
interface I {
}

class B {
    I i;
}</string>
    <string>// cs0619-28.cs: `D' is obsolete: `Do not use it'
// Line: 12

using System;

[Obsolete("Do not use it", true)]
delegate void D();

class B {
    event D e;
}</string>
    <string>// cs0619-29.cs: `Obsolete.Error' is obsolete: `Do not use it.'
// Line: 15

class Obsolete {
        [System.Obsolete("Do not use it.", true)]
        public static bool Error {
            get {
                return false;
            }
        }
}

class MainClass {
        public static void Main () {
                System.Console.WriteLine (Obsolete.Error);
        }
}</string>
    <string>// cs0619-3.cs: `ObsoleteEnum' is obsolete: `Yeah, is obsolete'
// Line: 13

using System;

[Obsolete("Yeah, is obsolete", true)]
enum ObsoleteEnum
{
}

interface Ex
{
	ObsoleteEnum Foo ();
}</string>
    <string>// cs0619-30.cs: `ObsoleteEnum.value_B' is obsolete: `Is obsolete'
// Line: 16

using System;

enum ObsoleteEnum
{
    value_A,
    [Obsolete("Is obsolete", true)]
    value_B
}

class MainClass {
    public static void Main ()
    {
        Console.WriteLine (ObsoleteEnum.value_B);
    }
}</string>
    <string>// cs0619-31.cs: `ObsoleteEnum' is obsolete: `Is obsolete'
// Line: 15

using System;

[Obsolete("Is obsolete", true)]
enum ObsoleteEnum
{
    value_B
}

class MainClass {
    public static void Main ()
    {
        Console.WriteLine (ObsoleteEnum.value_B);
    }
}</string>
    <string>// cs0619-32.cs: `E.item_a' is obsolete: `Obsolete enum'
// Line: 10
// Compiler options: -reference:CS0619-32-lib.dll

using System;

class MainClass {
    public static void Main ()
    {
        Console.WriteLine (E.item_a);
    }
}</string>
    <string>// cs0619-33.cs: `Error.Report(string)' is obsolete: `Obsolete method'
// Line: 11
// Compiler options: -reference:CS0619-33-lib.dll

using System;

class MainClass {
    public static void Main ()
    {
        Error e = new Error ();
        e.Report ("text");
    }
}</string>
    <string>// cs0619-34.cs: `Error' is obsolete: `Obsolete struct'
// Line: 17

using System;

[Obsolete ("Obsolete struct", true)]
struct Error
{
    public static void Report (bool arg)
    {
    }
}

class MainClass {
    public static void Main ()
    {
        Error.Report (false);
    }
}</string>
    <string>// cs0619-35.cs: `A.MyEvent' is obsolete: `Do not use it'
// Line: 11

public delegate void MyDelegate();

class A {
    [System.Obsolete("Do not use it", true)]    
    event MyDelegate MyEvent;
    
    public A () {
        MyEvent += new MyDelegate(f);
    }
    
    void f () {}
}</string>
    <string>// cs0619-36.cs: `Error.member' is obsolete: `Obsolete member'
// Line: 8
// Compiler options: -reference:CS0619-36-lib.dll

class A {
    public A () {
        Error e = new Error ();
        ++e.member;
    }
}</string>
    <string>// cs0619-37.cs: `ObsoleteEnum.value_B' is obsolete: `It's obsolete'
// Line: 16

using System;

enum ObsoleteEnum
{
    value_A,
    [Obsolete("It's obsolete", true)]
    value_B
}

enum E2
{
    aa = ObsoleteEnum.value_A,
    bb = ObsoleteEnum.value_B
}
</string>
    <string>// cs0619-38.cs: `ObsoleteEnum' is obsolete: `ooo'
// Line: 14

using System;

[Obsolete("ooo", true)]
enum ObsoleteEnum
{
    value_A
}

class C
{
    static ObsoleteEnum oe = ObsoleteEnum.value_A;
}
</string>
    <string>// cs0619-39.cs: `C.ob' is obsolete: `ooo'
// Line: 13

using System;

class C
{
	[Obsolete("ooo", true)]
	const int ob = 4;
	
    public int Prop {
		get {
			return ob;
		}
	}
}
</string>
    <string>// cs0619-4.cs: `Obsolete' is obsolete: `!!!'
// Line: 9

[System.Obsolete("!!!", true)]
class Obsolete {
}

class Class {
        public void Method (Obsolete o)
        {
        }
}
</string>
    <string>// cs0619-40.cs: `C.ob' is obsolete: `ooo'
// Line: 13

using System;

class C
{
	[Obsolete("ooo", true)]
	const int ob = 4;

	public void Test (int arg)
	{
		switch (arg) {
			case ob: return;
		}
	}
}
</string>
    <string>// CS0619: `Error.Filename' is obsolete: `NOT'
// Line: 8
// Compiler options: -reference:CS0619-42-lib.dll

class A: Error {
	public A () {
		string s = Filename;
	}
	
	public override string Filename {
		set {
		}
	}
}</string>
    <string>// cs0619-43.cs: `Error.C' is obsolete: `Obsolete constant'
// Line: 6
// Compiler options: -reference:CS0619-43-lib.dll

class A {
	public decimal C = Error.C;
}</string>
    <string>// cs0619-44.cs: `Obsolete' is obsolete: `!!!'
// Line: 9

[System.Obsolete("!!!", true)]
class Obsolete {
}

class Class {
		void VV ()
		{
			object[] o = new object [] { new Obsolete () };
		}
}
</string>
    <string>// cs0619-45.cs: `A' is obsolete: `!!!'
// Line: 9

[System.Obsolete("!!!", true)]
class A: System.Attribute
{
}

[A]
class Obsolete {
}
</string>
    <string>// cs0619-46.cs: `C' is obsolete: `Is obsolete'
// Line: 16

using System;

[Obsolete("Is obsolete", true)]
class C
{
	public static string SS;
}

class MainClass
{
    public static void Main ()
    {
        Console.WriteLine (C.SS);
    }
}
</string>
    <string>// cs0619-47.cs: `A.Field' is obsolete: `!!!'
// Line: 11

class A: System.Attribute
{
	[System.Obsolete("!!!", true)]
	public int Field;
}

class Obsolete {
	[A(Field=2)]
	public int Foo;
}
</string>
    <string>// cs0619-48.cs: `A.Prop' is obsolete: `!!!'
// Line: 13

class A: System.Attribute
{
	[System.Obsolete("!!!", true)]
	public string Prop {
		set { }
		get { return ""; }
	}
}

[A(Prop="System.String.Empty")]
class Obsolete {
}
</string>
    <string>// cs0619-49.cs: `A.A(string[])' is obsolete: `!!!'
// Line: 12

class A: System.Attribute
{
	[System.Obsolete("!!!", true)]
	public A (string[] s)
	{
	}
}

[A(new string[0])]
class Obsolete {
}
</string>
    <string>// cs0619-5.cs: `A' is obsolete: `Do not use it'
// Line: 12

using System;

[Obsolete("Do not use it", true)]
class A {
}

class B {
    static A _a = new A ();
}</string>
    <string>// cs0619-50.cs: `A.B' is obsolete: `yes'
// Line: 12

using Z = A.B;

class A
{
	[System.Obsolete("yes", true)]
	public class B
	{
	}

	static void Main ()
	{
		Z z;
	}
}</string>
    <string>// cs0619-51.cs: `A.comparer' is obsolete: `Please use ...'
// Line: 16
// Compiler options: -reference:CS0619-51-lib.dll

using System;
using System.Collections;

public class B : A
{
	void test ()
	{
	}
	
	public void AA ()
	{
		comparer += new D (test);
	}
	
	public static void Main () {}
}
</string>
    <string>// CS0619: `C' is obsolete: `x'
// Line: 24

using System;

interface I
{
}

[Obsolete ("x", true)]
class C
{
	public void Foo () { }
}

class M
{
	public static void Main ()
	{
	}

	public void Test (C c)
	{
		c.Foo ();
	}
}
</string>
    <string>// CS0619: `C.explicit operator byte(C)' is obsolete: `gg'
// Line: 17

using System;

class C
{
	[Obsolete ("gg", true)]
	public static explicit operator byte (C x)
	{
		return 1;
	}

	static void Main ()
	{
		C x = null;
		var y = (int) x;
	}
}</string>
    <string>// CS0619: `A' is obsolete: `msg'
// Line: 21

using System;

[Obsolete ("msg", true)]
class A
{
	public class M
	{
		public static void Foo ()
		{
		}
	}
}

class C
{
	public static void Main ()
	{
		A.M.Foo ();
	}
}
</string>
    <string>// CS0619: `ObsoleteInterface&lt;T&gt;' is obsolete: `'
// Line: 15

using System;

[Obsolete("", true)]
interface ObsoleteInterface&lt;T&gt;
{
}

class C
{
	public static void Main ()
	{
		var v = typeof (ObsoleteInterface&lt;&gt;);
	}
}
</string>
    <string>// cs0619-6.cs: `A._value' is obsolete: `Do not use it'
// Line: 9

class A {
    [System.Obsolete("Do not use it", true)]
    int _value;
    
    public A () {
        _value = 4;
    }
}</string>
    <string>// cs0619-7.cs: `ObsoleteClass' is obsolete: `Is obsolete'
// Line: 13

using System;

[Obsolete("Is obsolete", true)]
class ObsoleteClass
{
}

interface Ex
{
	void Foo (ObsoleteClass o1, ObsoleteClass o2);
}</string>
    <string>// cs0619-8.cs: `ObsoleteStruct' is obsolete: `Obsolete struct'
// Line: 7
// Compiler options: -reference:CS0619-8-lib.dll

interface I
{
	int Foo (int arg1, ObsoleteStruct arg2);
}</string>
    <string>// cs0619-9.cs: `ObsoleteInterface' is obsolete: `'
// Line: 11

using System;

[Obsolete("", true)]
interface ObsoleteInterface
{
}

delegate ObsoleteInterface @delegate ();
</string>
    <string>// cs0619.cs: `Obsolete.MethodError()' is obsolete: `Do not use it.'
// Line: 12

class Obsolete {
        [System.Obsolete("Do not use it.", true)]
        public static void MethodError() {
        }
}

class MainClass {
        public static void Main () {
                Obsolete.MethodError();
        }
}</string>
  </Examples>
</ErrorDocumentation>