Methods with variable arguments are not CLS-compliant
A public or protected method cannot accept a variable number of arguments and still be compliant with the Common Language Subset (CLS).
The following sample generates CS3000:
[assembly:System.CLSCompliant(true)] public class a { internal void good(__arglist) { // OK, not a public method } public void bad2(__arglist) { // CS3000, public method with varargs } public static void Main() { } }