我有2个项目
- UI:包含我的所有表单和用户控件
- 翻译:包含我用于翻译 UI 的翻译代码
Ui 项目显然需要对 翻译 项目的引用,因为它需要翻译。
因为我在 UI 中定义了需要特殊翻译的自定义用户控件。翻译项目需要知道类型,因此翻译还需要对UI的引用,从而导致循环依赖。
这实际上是一个问题吗?是的,我该如何最好地解决这个问题?我是否需要取出自定义类型并将它们放入单独的项目中?
谢谢
最佳答案
遵循良好实践,尤其是 sepatation of concerns ,您的翻译库应该不知道它正在翻译什么,只知道它需要将文本 a 翻译成 b。
通常,这是通过一个或多个方法来完成的,这些方法采用字符串的标识符以及要翻译的区域性。
CultureInfo ci = new CultureInfo("en-US");
var tranlated = MyTranslator.Translate("HelloWorldMessage",ci);
关于c# - 循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4104434/