请通过接口使其成为类对象,并在另一个项目中使用其方法

时间:2013-04-13 07:37:22

标签: c# oop interface

我有以下情况:

我有一个项目“Logger” 其中有类具体类名为“Log” 而这个“Log”继承自“Ilog”接口,它是从具有所有接口的项目“Common”引用的

所以现在解决方案看起来像

MainSolution -Logger(CLASS LIBRARY)    - Log.cs

  • Common(CLASS LIBRARY)

    • ILog(界面)
    • ICache(界面)
  • 缓存(CLASS LIBRARY)

    • Cache.cs(此类由公共项目的ICache继承。

现在cache.cs还需要使用Logging,我不想使用logger项目的引用,只需使用Common项目引用并实现日志记录。

请介绍一下。

2 个答案:

答案 0 :(得分:1)

您可以使用IOC解决此问题。通过使用IOC,您只能引用Common库中的Cache类库;但是在Log类上调用方法。

您需要做的就是创建一个容器;使用配置文件或编码将接口映射到对象;并通过IOC解决您的对象。

您可以参考Unity IOC的this linkthis link

答案 1 :(得分:0)

“我不想使用包含代码的项目,但我确实想要使用它”是相当糟糕的。

只需在Cache类库中使用它或重新实现ILog。