A method using the ``++VarArgs++`` calling convention is not Common Language Specification (CLS) compliant and might not be accessible across programming languages, while the ``++params++`` keyword works the same way and is CLS compliant.
This rule raises an issue when a ``++public++`` or ``++protected++`` type contains a ``++public++`` or ``++protected++`` method that uses the ``++VarArgs++`` calling convention.
== Noncompliant Code Example
----
using System;
namespace MyLibrary
{
public class Foo
{
public void Bar(__arglist) // Noncompliant
{
ArgIterator argumentIterator = new ArgIterator(__arglist);
for(int i = 0; i < argumentIterator.GetRemainingCount(); i++)