小弟我继承和实现一个抽象类,用匿名类的方式,像Java那样,可以吗

我继承和实现一个抽象类,用匿名类的方式,像Java那样,可以吗?
我的代码如下:

abstract class ab
{
    public abstract void f();//顺便问一下。abstract的方法自动就是virtual的,对吧?
}

static void Main(string[] args)
{
    //我不想显示声明一个实现类,而是想用匿名类的方式
    ab obj = new ab()//能否以匿名类的方式来实现接口或者抽象类?
    {
        public override void f(){}
    }();
}
我的本意是new一个匿名类出来,new ab(){},里面实现抽象函数f(空的,什么都不做),然后生成一个实例。
但是这段代码是编译不过去的,一堆错误。

我问题就在于,c#能否如java的adaptor实现代码那样,直接new一个匿名类并且生成实例?
------解决方案--------------------
        class ab
        {
            public action f;
        }
            ab obj = new ab
            {
                f = () => { }
            };

------解决方案--------------------
不可以。不需要。

Java没有委托,所以经常需要定义一个只有1个方法的接口,目的仅仅是为了传递那个方法本身。
比如Runnable

C#有委托,可以直接传方法,不需要再定义一个类。