В С# есть код черной магии, где вы можете определить реализацию интерфейса по умолчанию.
Итак, вы можете написать
var instance = new ISomeInterface();
Любые указатели?
ОБНОВЛЕНИЕ 1: Обратите внимание, что это не спросит, является ли это хорошей идеей. Как это было возможно?
ОБНОВЛЕНИЕ 2: любому, кто видит принятый ответ.
- "к этому нужно относиться просто как к любопытству". от Марка Гравеля "Новинг вверх" Интерфейсы
- "Неплохая идея использовать инструмент, предназначенный для взаимодействия с COM, чтобы сделать что-то совершенно и совершенно другое. Это делает ваш код невозможным для понимания для следующего парня, который должен его поддерживать" от Eric Lippert "Newing up" Интерфейсы
- "Хотя это может сработать, если оно было когда-либо обнаружено в производственном коде с помощью рационального кодера, вместо этого было бы реорганизовано использование базового класса или инъекции зависимостей". от Стивена Клири в комментарии ниже.