2016-06-28 125 views
0

在Java中,假设A类是一个接口/抽象类,我可以做到以下几点:实现一个接口

callMethod(new A(){ 

    public void myFunc(){ 
    System.out.println("test"); 
    } 
}); 

我怎样才能实现在C#中相同的快捷方式的效果无需单独申报班级。

谢谢

+1

在C#中,您无法实现与匿名类的接口。但在C#中,这样做的理由要少得多。没有'FunctionalInterface'这样的东西。相反,我们有委托,我们使用委托对象而不是'FunctionalInterface'的实现。相反,'CallMethod(Action action)'的签名,你可以通过'()=> Console.WriteLine(“test”)'。 – Aron

+1

投票重新开放,因为这个问题实际上看起来像一个关于JAVA中的FunctionalInterface和C#中的Delegate的问题。 – Aron

+0

谢谢。这看起来很有趣。我甚至不知道这是因为我正在学习c# – Snake

回答

0

你不能。

C#不允许您在匿名类型上实现接口。