2016-06-28 2 views
0

В Java, если предположить, что класс А представляет собой интерфейс/абстрактный класс, я могу сделать следующее:Реализовать интерфейс при вызове метода (встроенный)

callMethod(new A(){ 

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

Как я могу достичь того же быстрого эффекта в C# без необходимости объявлять класс отдельно.

Thanks

+1

В C# вы не можете реализовать интерфейс с анонимным классом. Но в C# гораздо меньше причин для этого. Существует не такая вещь, как 'FunctionalInterface'. Вместо этого у нас есть делегаты, и мы используем объекты делегата, а не реализации 'FunctionalInterface'. Вместо этого, подпись 'CallMethod (Action action)', и вы должны перейти в '() => Console.WriteLine (" test ")'. – Aron

+1

Голосование для повторного открытия, поскольку этот вопрос на самом деле выглядит как вопрос о 'FunctionalInterface' в JAVA и' Delegate's in C#. – Aron

+0

Спасибо. Это выглядит интересно. Я даже не знал, что это существовало, поскольку я изучаю C# – Snake

ответ

0

Вы не можете.

C# не позволяет реализовать интерфейсы на анонимных типах.

Смежные вопросы