如何在c#项目中解决这种循环依赖?

时间:2014-02-20 16:30:47

标签: c# .net cyclic-reference

我正在修改项目(1)(Windows服务)。我得到了一个实用工程项目(2),我正在使用这是我的项目。我不知道为什么但是这个(2)使用ConfigurationManager.AppSettings[]初始化我在我的项目中使用自定义配置阅读器,因为我想要自己的XML结构。该实用程序没有使用构造函数或方法初始化的选项。

我不想更改此实用程序,所以我只是使用AppSettings将此初始化更改为(1)中的config类(通过从(2)创建(1)的依赖项)。我知道这不是解决问题的方法。如果我清理我的解决方案,那将是一团糟。

我能想到某些方法。但不确定哪种方法是正确的?

  1. 有另一个配置文件
  2. 继续循环依赖
  3. 传递参​​数并更改实用程序
  4. (参数太多)我应该将所有值作为字符串传递并在实用程序中写入逻辑以将其转换回来吗?
  5. 项目1

    using utility;
    
    ns pr1;
    
    CustomConfigReader{ }
    

    项目2

    using pr1;
    
    ns utility;
    UtilityClass{
    
      //Initialization of a lot variables
      pr1.CustomConfigReader .......
    
    }
    

1 个答案:

答案 0 :(得分:2)

将自定义配置代码放在自己的DLL&有(1)& (2)都参考它。然后修改(2),使其使用自定义配置代码。