<?xml version="1.0" encoding="us-ascii"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS1612</ErrorName>
  <Examples>
    <string>// cs1612-2.cs: Cannot modify the return value of `X.P' because it is not a variable
// Line: 9

using System;
class X {
	static void Main ()
	{

		P.x = 10;
		Console.WriteLine ("Got: " + P.x);
	}

	static G P {
	 get {
		return g;
	 }
	}

	static G g = new G ();

	struct G {
		public int x;
	}
}
		
</string>
    <string>// cs1612-3.cs: Cannot modify the return value of `bar.this[...]' because it is not a variable
// Line: 19

struct foo {
	public int x;
}

class bar {
	public foo this [int x] {
		get { return new foo (); }
		set { }
	}
}

class main {
	static void Main ()
	{
		bar b = new bar ();
		b [0].x = 5;
	}
}
</string>
    <string>// cs1612-4.cs: Cannot modify the return value of `X.P' because it is not a variable
// Line: 9

using System;
class X {
	static void Main ()
	{

		bar (out P.x);
		Console.WriteLine ("Got: " + P.x);
	}

	static void bar (out int x) { x = 10; }

	static G P {
	 get {
		return g;
	 }
	}

	static G g = new G ();

	struct G {
		public int x;
	}
}
		
</string>
    <string>// cs1612-5.cs: Cannot modify the return value of `bar.this[...]' because it is not a variable
// Line: 19

struct foo {
	public int x;
}

class bar {
	public foo this [int x] {
		get { return new foo (); }
		set { }
	}
}

class main {
	static void baz (out int x) { x = 5; }
	static void Main ()
	{
		bar b = new bar ();
		baz (out b [0].x);
	}
}
</string>
    <string>// cs1612.cs: Cannot modify the return value of `X.P' because it is not a variable
// Line: 9

using System;
class X {
	static void Main ()
	{

		P.x += 10;
		Console.WriteLine ("Got: " + P.x);
	}

	static G P {
	 get {
		return g;
	 }
	}

	static G g = new G ();

	struct G {
		public int x;
	}
}
		
</string>
  </Examples>
</ErrorDocumentation>