Compiler Warning (level 1) CS3001

Argument type 'type' is not CLS-compliant

A public, protected, or protectedinternal method must accept a parameter whose type is compliant with the Common Language Specification (CLS). For more information on CLS Compliance, see Writing CLS-Compliant Code and Common Language Specification.

Example

The following example generates CS3001:

// CS3001.cs

[assembly:System.CLSCompliant(true)]
public class a
{
    public void bad(ushort i)   // CS3001
    {
    }

    private void OK(ushort i)   // OK, private method
    {
    }

    public static void Main()
    {
    }
}