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