【发布时间】:2016-10-30 03:52:50
【问题描述】:
在Java中,假设A类是一个接口/抽象类,我可以这样做:
callMethod(new A(){
public void myFunc(){
System.out.println("test");
}
});
如何在 C# 中实现同样的快捷效果而不需要单独声明一个类。
谢谢
【问题讨论】:
-
在 C# 中,您不能使用匿名类实现接口。但在 C# 中,这样做的理由要少得多。没有
FunctionalInterface这样的东西。相反,我们有委托,我们使用委托对象而不是FunctionalInterface的实现。相反,CallMethod(Action action)的签名,你会传入() => Console.WriteLine("test")。 -
投票重新打开,因为这个问题实际上看起来像是 JAVA 中的
FunctionalInterface和 C# 中的Delegates 上的问题。 -
谢谢。这看起来很有趣。在我学习 c# 时我什至不知道它的存在
标签: c#