using System;
public class Program
{
public static void Main()
Derived d = new Derived();
d.Foo(a: 1, b: 2);
Base b = d;
}
public class Base
public virtual void Foo(int a, int b) {}
public class Derived : Base
public override void Foo(int b, int a) {
Console.WriteLine("a = {0}, b = {1}", a, b);