Я использую С# с картой Microsoft Unity. Я не совсем уверен, как решить эту проблему. Вероятно, это связано с моим недостатком понимания DI с Unity.
Моя проблема может быть суммирована с использованием следующего примера кода:
class Train(Person p) { ... }
class Bus(Person p) { ... }
class Person(string name) { ... }
Person dad = new Person("joe");
Person son = new Person("timmy");
Когда я вызываю метод разрешения на шине, как я могу быть уверенным, что персональный "сын" с именем "timmy" вводится и при разрешении Train, как я могу быть уверен, что Person 'dad' с именем name 'joe' разрешено?
Я думаю, может быть, использовать именованные экземпляры? Но я в недоумении. Любая помощь будет оценена.
В стороне, я бы предпочел не создавать интерфейс IPerson.