循环依赖

时间:2010-11-05 08:39:25

标签: c# code-organization circular-dependency

我有2个项目

  • UI :包含我的所有表单和用户控件
  • 翻译:包含用于翻译UI的翻译代码

Ui项目显然需要引用 translation 项目,因为它需要翻译。

由于我在UI中定义了需要特殊翻译的自定义用户控件。翻译项​​目需要知道类型,因此翻译还需要引用 UI ,从而产生循环依赖。

这实际上是一个问题,是的如何解决这个问题?我是否取出自定义类型并将它们放在一个单独的项目中?

由于

1 个答案:

答案 0 :(得分:3)

遵循良好做法,尤其是sepatation of concerns,您的翻译库应该对正在翻译的一无所知,只需要将文本a翻译成b。

通常,这是通过采用字符串标识符和要转换为的文化的方法或方法来完成的。

CultureInfo ci = new CultureInfo("en-US");
var tranlated = MyTranslator.Translate("HelloWorldMessage",ci);