﻿<?xml version="1.0" encoding="utf-8"?>
<ErrorDocumentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ErrorName>CS3005</ErrorName>
  <Examples>
    <string>// cs3005.cs: Identifier 'CLSClass.Method(int)' differing only in case is not CLS-compliant
// Line: 8

[assembly:System.CLSCompliant (true)]

public class BaseClass {
        public int method;
}

public class CLSClass : BaseClass {
        public static void Method(int arg) {}
}</string>
    <string>// cs3005.cs: error CS3005: Identifier 'System.Icomparable' differing only in case is not CLS-compliant
// Line: 8

[assembly:System.CLSCompliant(true)]

namespace System {
    public interface Icomparable {
    }
}</string>
    <string>// cs3005.cs: Identifier 'clsInterface' differing only in case is not CLS-compliant
// Line: 10

using System;
[assembly:CLSCompliant (true)]

public interface CLSInterface {
}

public class clsInterface: CLSInterface {
}</string>
    <string>// cs3005.cs: Identifier 'CLSClass.NameAbC(int)' differing only in case is not CLS-compliant
// Line: 9

using System;
[assembly:CLSCompliant (true)]

public class CLSClass {
        public int NameABC;
        public static void NameAbC(int arg) {}
}</string>
    <string>// cs3005.cs: Identifier 'CLSEnum.Label' differing only in case is not CLS-compliant
// Line: 9

using System;
[assembly:CLSCompliant (true)]

public enum CLSEnum {
        label,
        Label
}</string>
    <string>// cs3005.cs: Identifier 'i1' differing only in case is not CLS-compliant
// Line: 9

[assembly:System.CLSCompliant(true)]

public interface I1 {
}

public interface i1 {
}</string>
    <string>// cs3005.cs: Identifier 'a' differing only in case is not CLS-compliant
// Line: 10

using System;
[assembly:CLSCompliant (true)]

public enum A {
}

public interface a {
}</string>
    <string>// cs3005.cs: Identifier 'CLSClass_B.uNIVERSAL' differing only in case is not CLS-compliant
// Line: 9
// Compiler options: -reference:CS3005-16-lib.dll

using System;
[assembly: CLSCompliantAttribute (true)]

public class CLSClass_B: CLSClass_A {
        public const int uNIVERSAL = 3;
}</string>
    <string>// cs3005.cs: Identifier 'CLSClass.op_implicit()' differing only in case is not CLS-compliant
// Line: 12

using System;
[assembly:CLSCompliant(true)]

public class CLSClass {
        static public implicit operator CLSClass(byte value) {
               return new CLSClass();
        }
    
        public void op_implicit () {}
}</string>
    <string>// cs3005.cs: Identifier 'B.TEST()' differing only in case is not CLS-compliant
// Line: 15

using System;

[assembly: CLSCompliantAttribute (true)]

public class A
{
    [CLSCompliant (false)]
    public void Test () {}
        
    public void test () {}
}

public class B: A
{
    public void TEST () {} 
}</string>
    <string>// cs3005.cs: Identifier 'II.compareto()' differing only in case is not CLS-compliant
// Line: 11
// Compiler options: -t:library

[assembly:System.CLSCompliant(true)]

public interface I {
}

public interface II: I, System.IComparable {
        bool compareto();
}
</string>
    <string>// cs3005.cs: Identifier 'CLSClass.Index.get' differing only in case is not CLS-compliant
// Line: 14

[assembly:System.CLSCompliant(true)]

public class X {
        public int index { get { return 0; } }
}

public class Y: X {
}
    
public class CLSClass: Y {
        public long Index { get { return 3; } }
}</string>
    <string>// cs3005.cs: Identifier 'I.BLAH.get' differing only in case is not CLS-compliant
// Line: 15

using System.Runtime.CompilerServices;
using System;

[assembly: CLSCompliant (true)]

public interface I {
	[IndexerName ("blah")]
	int this [int a] {
            get;
	}

 	int BLAH { get; }
}
</string>
    <string>// cs3005.cs: Identifier 'CLSClass.NameAbc' differing only in case is not CLS-compliant
// Line: 12

using System;
[assembly:CLSCompliant (true)]

public class CLSClass {
        [CLSCompliant (false)]
        public int NameABC;
            
        public int NameAbc;
        public int NameAbC;
}</string>
    <string>// cs3005.cs: Identifier 'X.Index' differing only in case is not CLS-compliant
// Line: 8

[assembly:System.CLSCompliant(true)]

public class X {
        public int index { get { return 0; } }
        public int Index { set {} }
        
}</string>
    <string>// cs3005.cs: Identifier 'CLSClass.a.get' differing only in case is not CLS-compliant
// Line: 8

[assembly:System.CLSCompliant(true)]

public class CLSClass {
        public int get_A () { return 3; }
        public int a { get { return 2; } }
}
</string>
    <string>// cs3005.cs: Identifier 'CLSClass.value' differing only in case is not CLS-compliant
// Line: 15

[assembly:System.CLSCompliant(true)]

public class X {
        public bool Value;
}

public class Y: X {
        private readonly bool vAalue;
}
    
public class CLSClass: Y {
        protected internal bool value;
}</string>
    <string>// cs3005.cs: Identifier 'CLSClass.constant' differing only in case is not CLS-compliant
// Line: 8

[assembly:System.CLSCompliant(true)]

public class CLSClass {
        protected int Constant = 1;
        protected const bool constant = false;
}</string>
    <string>// cs3005.cs: Identifier 'CLSClass.Event_A' differing only in case is not CLS-compliant
// Line: 13

[assembly:System.CLSCompliant(true)]

public delegate void MyDelegate(int i);

public class Base {
        protected event System.ResolveEventHandler Event_a;
}

public class CLSClass: Base {
        public event MyDelegate Event_A;
}</string>
    <string>// cs3005.cs: Identifier 'i1' differing only in case is not CLS-compliant
// Line: 9

[assembly:System.CLSCompliant(true)]

public class I1 {
}

public interface i1 {
}</string>
    <string>// cs3005.cs: Identifier 'CLSClass.this[int].set' differing only in case is not CLS-compliant
// Line: 8

[assembly:System.CLSCompliant(true)]

public class CLSClass {
        protected int SET_item;
        public int this[int index] { set {} }        
}</string>
    <string>// cs3005.cs: Identifier 'II.foo' differing only in case is not CLS-compliant
// Line: 9

using System;
[assembly:CLSCompliant(true)]

public interface II {
        int Foo();
        int foo { get; }
}</string>
    <string>// cs3005.cs: Identifier 'c1' differing only in case is not CLS-compliant
// Line: 9

[assembly:System.CLSCompliant(true)]

public class C1 {
}

public class c1 {
}</string>
    <string>// cs3005: Identifier foo differing only in case is not CLS-Compliant.
// Line: 9

using System;
[assembly: CLSCompliant (true)]

public class ErrorCS3005 {
	public int FOO = 0;
	public int foo = 1;

	public static void Main ( ) {
		ErrorCS3005 error = new ErrorCS3005 ();
		Console.WriteLine ("This should make the compiler to complain ERROR CS3005, number: {0}", error.foo);
	}
}

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