This documentation is archived and is not being maintained.

Compiler Error CS3001

Argument type 'type' is not CLS-compliant

A public, protected, or protected internal method must accept a parameter whose type is compliant with the Common Language Specification (CLS).

The following sample 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()
   {
   }
}

See Also

What Is the Common Language Specification

Show: