c# - 循环依赖

标签 c# code-organization circular-dependency

我有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/

相关文章:

c# - Visual Studio 和循环依赖问题

c - typedef 结构、循环依赖、前向定义

c# - 如何一次性或手动或本地安装 C# 依赖项以在没有 VS-code 的互联网连接的情况下脱机工作?

c# - 将十进制货币值四舍五入为便士倍数

c# - DragEnter 和 GiveFeedback 之间的区别

javascript - 是否有针对 testcafe E2E 测试的建议文件结构

python - 如何避免 Python 中的循环导入?

c# - 返回类型不正确,但我不明白它应该是什么

python - 我应该如何组织 Python 源代码?

powershell - 如何实现一个powershell函数库?