class Base
{
        public virtual void Foo<T> () {}
}

class Derived : Base
{
        public override void Foo <T> () {}
}

class Driver
{
        public static void Main ()
        {
                new Derived ().Foo<int> ();
        }
}