<?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>CS0023</ErrorName>
  <Examples>
    <string>// cs0023: The `+' operator cannot be applied to operand of type `X'
// Line : 6

class X {
    static X x;
    static object o = +x;
}
</string>
    <string>// cs0023: The `-' operator cannot be applied to operand of type `A'
// Line: 16


class A
{
	public static implicit operator ulong (A mask)
	{
		return 8;
	}
}

class X
{
    static A a = null;
    static object o = -a;
}
</string>
    <string>// cs0023: The `+' operator cannot be applied to operand of type `string'
// Line: 10

using System;

public class Test
{
	static void Main ()
	{
		Console.WriteLine ("a" + + "b");
	}
}</string>
    <string>// cs0023-2.cs: The `+' operator cannot be applied to operand of type `bool'
// Line : 6

class X {
        static void Main () {
                bool b = +true;
        }
}



</string>
    <string>// CS0023: The `.' operator cannot be applied to operand of type `void'
// Line: 12

using System; 
 
public class Testing 
{ 
	public static void DoNothing() {} 
	 
	public static void Main() 
	{ 
	 	Console.WriteLine(DoNothing().ToString()); 
	} 
} 
</string>
    <string>// CS0023: The `.' operator cannot be applied to operand of type `anonymous method'
// Line: 8

using System;
class Test {
	public static void Main(string[] argv) {
		Console.WriteLine("Type of anonymous block: {0}",
			(delegate() {}).GetType());
	}
}
</string>
    <string>// CS0023: The `.' operator cannot be applied to operand of type `null'
// Line: 8

class C
{
	public static void Main ()
	{
		string s = null.ToString ();
	}
}</string>
    <string>// CS0023: The `.' operator cannot be applied to operand of type `void'
// Line: 8

class C
{
	public static void Main ()
	{
		string s = void.ToString ();
	}
}</string>
    <string>// CS0023: The `.' operator cannot be applied to operand of type `int*'
// Line: 8
// Compiler options: -unsafe

class C
{
	static unsafe int* Foo ()
	{
		return (int*)0;
	}
	
	public static void Main ()
	{
		unsafe {
			string s = Foo().ToString ();
		}
	}
}</string>
    <string>// cs0023: The `+' operator cannot be applied to operand of type `X'
// Line : 6

class X {
        static void Foo (object o)
        {
        }
        
        static void Main () {
                Foo (+(X)null);
        }
}



</string>
    <string>// cs0023: The `-' operator cannot be applied to operand of type `ulong'
// Line : 6

class X {
    const ulong a = 2;
    const int b = -a;
}



</string>
    <string>// CS0023: The `~' operator cannot be applied to operand of type `Foo'
// Line : 10

public class Foo {

	public static void Main ()
	{
		Foo k = new Foo ();
		
		int i = ~ k;

	}
}
</string>
  </Examples>
</ErrorDocumentation>