<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS1690</ErrorName>
  <Examples>
    <string>// CS1690: Cannot call methods, properties, or indexers on `A.point' because it is a value type member of a marshal-by-reference class
// Line: 22
// Compiler options: -warn:1 -warnaserror

using System;

public struct Point
{
        public bool Error { get { return true; } }
}

public class A : MarshalByRefObject
{
   public Point point = new Point ();
}

public class Test
{
   public static void Main ()
   {
        A a = new A ();
        bool b = a.point.Error;
   }
}
</string>
    <string>// CS1690: Cannot call methods, properties, or indexers on `A.point' because it is a value type member of a marshal-by-reference class
// Line: 27
// Compiler options: -warn:1 -warnaserror

using System;

public struct Coord 
{
        public int val; 
}

public struct Point {
	public Coord x;
	public Coord y;
}

public class A : MarshalByRefObject
{
   public Point point = new Point ();
}

public class Test
{
   public static void Main ()
   {
        A a = new A ();
        Console.WriteLine (a.point.x);
   }
}
</string>
    <string>// CS1690: Cannot call methods, properties, or indexers on `A.point' because it is a value type member of a marshal-by-reference class
// Line: 27
// Compiler options: -warn:1 -warnaserror

using System;

public struct Coord 
{
        public int val; 
}

public struct Point {
	public Coord x;
	public Coord y;
}

public class A : MarshalByRefObject
{
   public Point point = new Point ();
}

public class Test
{
   public static void Main ()
   {
        A a = new A ();
        Console.WriteLine (a.point.x.val);
   }
}
</string>
    <string>// CS1690: Cannot call methods, properties, or indexers on `A.point' because it is a value type member of a marshal-by-reference class
// Line: 22
// Compiler options: -warn:1 -warnaserror

using System;

public struct Point
{
        public bool this [int i] { set { } }
}

public class A : MarshalByRefObject
{
   public Point point = new Point ();
}

public class Test
{
   public static void Main ()
   {
        A a = new A ();
        a.point [3] = false;
   }
}
</string>
    <string>// CS1690: Cannot call methods, properties, or indexers on `A.point' because it is a value type member of a marshal-by-reference class
// Line: 22
// Compiler options: -warn:1 -warnaserror

using System;

public struct Point
{
        public void Error () {}
}

public class A : MarshalByRefObject
{
   public Point point = new Point ();
}

public class Test
{
   public static void Main ()
   {
        A a = new A ();
        a.point.Error ();
   }
}
</string>
    <string>// CS1690: Cannot call methods, properties, or indexers on `A.point' because it is a value type member of a marshal-by-reference class
// Line: 27
// Compiler options: -warn:1 -warnaserror

using System;

public struct Coord 
{
        public void Error () {}
}

public struct Point {
	public Coord x;
	public Coord y;
}

public class A : MarshalByRefObject
{
   public Point point = new Point ();
}

public class Test
{
   public static void Main ()
   {
        A a = new A ();
        a.point.x.Error ();
   }
}
</string>
    <string>// CS1690: Cannot call methods, properties, or indexers on `A.point' because it is a value type member of a marshal-by-reference class
// Line: 27
// Compiler options: -warn:1 -warnaserror

using System;

public struct Coord 
{
        public int val; 
}

public struct Point {
	public Coord x;
	public Coord y;
}

public class A : MarshalByRefObject
{
   public Point point = new Point ();
}

public class Test
{
   public static void Main ()
   {
        A a = new A ();
        a.point.x.val = 0;
   }
}
</string>
  </Examples>
</ErrorDocumentation>