2016-06-28 159 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#不允許您在匿名類型上實現接口。