0
在Java中,假设A类是一个接口/抽象类,我可以做到以下几点:实现一个接口
callMethod(new A(){
public void myFunc(){
System.out.println("test");
}
});
我怎样才能实现在C#中相同的快捷方式的效果无需单独申报班级。
谢谢
在Java中,假设A类是一个接口/抽象类,我可以做到以下几点:实现一个接口
callMethod(new A(){
public void myFunc(){
System.out.println("test");
}
});
我怎样才能实现在C#中相同的快捷方式的效果无需单独申报班级。
谢谢
你不能。
C#不允许您在匿名类型上实现接口。
在C#中,您无法实现与匿名类的接口。但在C#中,这样做的理由要少得多。没有'FunctionalInterface'这样的东西。相反,我们有委托,我们使用委托对象而不是'FunctionalInterface'的实现。相反,'CallMethod(Action action)'的签名,你可以通过'()=> Console.WriteLine(“test”)'。 – Aron
投票重新开放,因为这个问题实际上看起来像一个关于JAVA中的FunctionalInterface和C#中的Delegate的问题。 – Aron
谢谢。这看起来很有趣。我甚至不知道这是因为我正在学习c# – Snake