В Java можно расширить интерфейс с помощью анонимного класса, который можно реализовать «на лету». Пример:C# анонимный интерфейс реализации (или абстрактный класс)
Runnable myRunnable = new Runnable()
{
@Override
public void run() { /**/ }
}
(Более подробно о: http://www.techartifact.com/blogs/2009/08/anonymous-classes-in-java.html#ixzz1k07mVIeO)
Возможно ли это в C#? Если нет, то какие жизнеспособные альтернативы не должны полагаться на реализацию множества подклассов?
Это функция, которую я пропускаю время от времени, особенно потому, что мои интерфейсы часто узкие (интерфейсы роли) и придерживаются принципа разделения интерфейса. Было бы удобно, когда я мог бы зарегистрировать делегата в моей конфигурации DI, в то время как остальная часть приложения все равно могла бы зависеть от этого интерфейса (вместо «Func»), не создавая своего рода прокси-класс, который обертывает этот делегат и реализовать этот интерфейс. –
Steven