Существует ли инструмент, который может генерировать извлечение и генерацию интерфейсов для существующих классов?
Я знаю Visual Studio извлечет интерфейс для существующего класса. Однако я также хотел бы создать класс-оболочку, который реализует эту функциональность.
Полагаю, это очень поможет при юнит-тестировании.
Пример существующего класса:
public class ThirdPartyClass
{
public void Method1(){}
public void Method2(){}
}
Это может быть сгенерировано Visual Studio (Extract Interface):
public interface IThirdPartyClass
{
void Method1();
void Method2();
}
Я бы хотел пойти еще дальше:
public class ThirdPartyClassWrapper : IThirdPartyClass
{
private tpc = new ThirdPartyClass();
public void Method1()
{
tpc.Method1();
}
public void Method2()
{
tpc.Method2();
}
}
Обновление:
Это было бы особенно полезно для статических классов. Как указывает Мортен, я могу просто использовать заглушку, но я хотел бы по возможности разорвать соединение.