круговая зависимость - PullRequest
       10

круговая зависимость

2 голосов
/ 05 ноября 2010

У меня есть 2 проекта

  • UI : содержит все мои формы и пользовательский контроль
  • Перевод : содержит используемый код переводадля перевода пользовательского интерфейса

Проект Ui, очевидно, нуждается в ссылке на проект translation , поскольку он нуждается в переводе.

Поскольку я определил пользовательские элементы управления в пользовательском интерфейсе, которые требуют специального перевода.Проекту перевода необходимо знать тип, и поэтому translation также нужна ссылка на UI , что приводит к циклической зависимости.

действительно ли это проблема, и да, как это сделатьЯ решаю это лучше всего?Вынуть ли пользовательские типы и поместить их в отдельный проект?

Спасибо

1 Ответ

3 голосов
/ 05 ноября 2010

Следуя хорошей практике, и особенно разделению проблем , ваша библиотека переводов не должна ничего знать о что она переводит, только то, что ей нужно перевести текст a в b.

Обычно это делается с помощью методов или методов, которые принимают идентификатор для строки, и культуры для перевода.

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