На этот вопрос уже есть ответ здесь:
Есть ли в C# конструкция, позволяющая создать анонимный класс, реализующий интерфейс, как в Java?