<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0118</ErrorName>
  <Examples>
    <string>// CS0118: `Foo&lt;X&gt;' is a `type' but a `variable' was expected
// Line: 12
 
public class Foo&lt;T&gt;
{
}
 
class X
{
	static void Main ()
	{
		Foo&lt;X&gt; = new Foo&lt;X&gt; ();
	}
}
</string>
    <string>// CS0118: `A.B' is a `namespace' but a `type' was expected
// Line: 9
// Compiler options: -r:CS0118-2-lib.dll

using A.B.C;

namespace A.D {
	class Test {
		static public void Main () 
		{
			B c = new B ();
		}
	}
}
</string>
    <string>// CS0118: `x.a.B' is a `property' but a `type' was expected
// Line: 9

using System;

namespace x
{
	class a
	{
		bool B { set {} }
		
		void Test (B b) {}
	}
}</string>
    <string>// CS0118: `X.s' is a `field' but a `type' was expected
// Line: 6
class X {
	string s;

	s MyProperty {
		get {
			return s;
		}
	}
}
</string>
    <string>// CS0118: `N' is a `namespace' but a `type' was expected
// Line: 8

namespace N
{
}

public class C&lt;T&gt;  where T : N
{
}</string>
    <string>// CS0118: `System' is a `namespace' but a `type' was expected
// Line: 9

public class C
{
	public object Test (object a)
	{
		return (System)(a);
	}
}
</string>
    <string>// CS0118: `Martin.Test' is a `namespace' but a `type' was expected
// Line: 15
using System;
using Foo;

namespace Foo
{
	public class Test : Attribute
	{
	}
}

namespace Martin.Test
{
	[Test]
	public class X
	{
	}
}
</string>
    <string>// CS0118: `A.Foo(string)' is a `method group' but a `type' was expected
// Line: 15

public class A
{
	public static void Foo (string Setting)
	{
	}
}

class Example
{
	public void Main(string[] args)
	{
		A a = new A.Foo ("test");  
	}
}</string>
    <string>// CS0118: `C' is a `type' but a `variable' was expected
// Line: 8

class C
{
	public static void Main ()
	{
		int i = (C) +1;
	}
}
</string>
    <string>// CS0118: `M.N' is a `namespace' but a `variable' was expected
// Line: 10

namespace M.N
{
	public class Foo
	{
		public Foo (object value)
		{
			N = value;
		}
	}
}
</string>
    <string>// CS0118: `A.s' is a `field' but a `type' was expected
// Line: 11

class A
{
	public string s;
}

class X : A
{
	s MyProperty {
		get {
			return s;
		}
	}
}
</string>
    <string>// CS0118: `X.Foo' is a `property' but a `method group' was expected
// Line: 12

class X
{
	static int Foo {
		get { return 1; }
	}

	static void Main ()
	{
		Foo (1);
	}
}
</string>
    <string>// CS0118: `MonoTests.System.Data.Test' is a `namespace' but a `type' was expected
// Line: 22
using NUnit.Framework;
using System;

namespace NUnit.Framework
{
	public class Test : Attribute
	{ }
}

namespace MonoTests.System.Data.Test.Utils
{
	public class Y
	{ }
}

namespace MonoTests.System.Data.SqlTypes
{
	public class X
	{
		[Test]
		public void Hello ()
		{
		}

		static void Main ()
		{ }
	}
}
</string>
    <string>// CS0118: `A' is a `type' but a `variable' was expected
// Line: 12

class A
{
}

class B
{
	public B ()
	{
		A = 2;
	}
}
</string>
    <string>// CS0118: `Region.Value' is a `field' but a `type' was expected
// Line: 8

public sealed class Region
{
    int Value;
    
    [Value(2)]
    public Region() {}
}
</string>
  </Examples>
</ErrorDocumentation>