在编译时某些路径可能不可用时,如何设置工厂?

时间:2019-04-24 20:35:42

标签: c# factory-pattern

我的应用程序在运行时从文件读取,并从文件创建对象。

我正在使用工厂模式创建对象:

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,则工厂将无法编译。

如果不编译,我想将其默认为错误情况。有可能吗?

0 个答案:

没有答案