Мое приложение читает из файла во время выполнения и создает объект из файла.
Я использую фабричный шаблон для создания объекта:
public class Factory :
{
public IValuesRepository CreateRepository(string repoType)
{
switch (repoType)
{
case "A":
{
return new ValuesRepositoryA();
}
case "B":
{
return new ValuesRepositoryB();
}
default:
{
throw new ArgumentOutOfRangeException("This repository type is not supported");
}
}
}
ValuesRepositoryA / B определены в их собственном проекте, а фабрика определена в третьем проекте с зависимостью от обоих репозиториев.
ValuesRepositoryA / B зависит от двух разных сторонних программ, установленных на компьютере для компиляции.
Моя проблема в том, что если на компьютере, пытающемся выполнить компиляцию, не установлено стороннее программное обеспечение A, то не компилируется заводская установка.
Я бы хотел установить его по умолчанию на случай ошибки, если он не компилируется. Это возможно?