Предположим, у нас есть 3-уровневое приложение, и у нас есть три проекта с именами P1, P2, P3.
Зависимость: P1 (данные) << P2 (бизнес-логика) << P3 (презентация)</em>
P2 получил базовый класс X , который был унаследован в другом классе Y в P2.Итак, мы добавляем ссылку P1 к P2.Однако P3 использует P2. Y и не использует P1. X напрямую.
Чтобы сделать это, мы должны добавить ссылку P2 к P3.Но есть разница между VB и C # .
В VB , мы добавляем ссылку P2 только к P3.P2 использует P1, но это не имеет значения для P3.Нам не нужно добавлять ссылку P1 к P3 .Этого достаточно!
Но в C # мы должны добавить ref P1 и P2 к P3 , даже если P3 не использует P1.X.Если вы не добавите ссылку A к C, вы получите ошибку ниже:
Тип 'P1.X' определен в сборке, на которую нет ссылок.Необходимо добавить ссылку на сборку «P1, Версия = 1.0.0.0, Культура = Нейтральная, PublicKeyToken = null».
Почему мы должны добавить два проекта в C #?
Иливместо этого мы можем заблокировать это поведение?