【问题标题】:Implement an interface while calling a method (inline) [duplicate]在调用方法时实现接口(内联)[重复]
【发布时间】: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#


【解决方案1】:

你不能。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-29
    • 2012-08-13
    • 2019-02-11
    • 2019-02-10
    • 2014-06-17
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    相关资源
    最近更新 更多