class Base { protected virtual void Foo(object[] arr) {} } class Derived : Base { protected override void Foo(params object[] arr) {} static void Bar() { Derived derived = new Derived(); derived.Foo(); // error CS1501: No overload for method 'Foo' takes '0' arguments } }