<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0592</ErrorName>
  <Examples>
    <string>// CS0592: The attribute `MyAttributeAttribute' is not valid on this declaration type. It is valid on `interface' declarations only
// Line : 8

using System;

public interface ITest
{
	[MyAttribute]
	void Method();
}

[AttributeUsage (AttributeTargets.Interface)]
public class MyAttributeAttribute : Attribute
{
}

public class Foo {

        public static void Main ()
        {
        }
}


</string>
    <string>// CS0592: The attribute `System.Runtime.CompilerServices.IndexerNameAttribute' is not valid on this declaration type. It is valid on `property, indexer' declarations only
// Line : 6

using System.Runtime.CompilerServices;

[IndexerName("XXX")]
class A {
        public static void Main () { }
        
}
</string>
    <string>// CS0592: The attribute `TestAttribute' is not valid on this declaration type. It is valid on `constructor' declarations only
// Line: 5

using System;
[assembly:TestAttribute ()]

[AttributeUsage(AttributeTargets.Constructor)]
public class TestAttribute: Attribute {
}</string>
    <string>// CS0592: The attribute `TestAttribute' is not valid on this declaration type. It is valid on `constructor' declarations only
// Line: 6

using System;

[TestAttribute ()]
enum E {
}

[AttributeUsage(AttributeTargets.Constructor)]
public class TestAttribute: Attribute {
}</string>
    <string>// CS0592: The attribute `TestAttribute' is not valid on this declaration type. It is valid on `constructor' declarations only
// Line: 6

using System;

[TestAttribute ()]
delegate void D ();

[AttributeUsage(AttributeTargets.Constructor)]
public class TestAttribute: Attribute {
}</string>
    <string>// CS0592: The attribute `EnumAttribute' is not valid on this declaration type. It is valid on `method' declarations only
// Line: 13

using System;
using System.Reflection;

[AttributeUsage(AttributeTargets.Method)]
public class EnumAttribute : Attribute {}

public enum E
{
        e_1,
        [EnumAttribute]
        e_2
}
</string>
    <string>// CS0592: The attribute `System.ObsoleteAttribute' is not valid on this declaration type. It is valid on `class, struct, enum, constructor, method, property, indexer, field, event, interface, delegate' declarations only
// Line : 8

using System;

public class C
{
    [return: Obsolete]
    public void Test (int a)
    {
    }
    static public void Main () {}
}
</string>
    <string>// CS0592: The attribute `SAttribute' is not valid on this declaration type. It is valid on `return' declarations only
// Line : 12

using System;

[AttributeUsage (AttributeTargets.ReturnValue)]
class SAttribute: Attribute {}

public class C
{
    int Prop {
        [param: S]
        set {
        }
    }
}
</string>
    <string>// CS0592: The attribute `SimpleAttribute' is not valid on this declaration type. It is valid on `constructor' declarations only
// Line : 22

using System;

[AttributeUsage (AttributeTargets.Constructor, AllowMultiple = true)]
	public class SimpleAttribute : Attribute {

		string name = null;

		public string MyNamedArg;
		
		public SimpleAttribute (string name)
		{
			this.name = name;
		}
		
		
	}

[Simple ("Dummy", MyNamedArg = "Dude!")]
	public class Blah {

		public static void Main ()
		{
		}
	}
					   
	
</string>
  </Examples>
</ErrorDocumentation>