Что ж, интерфейс INeed
, вероятно, свидетельствует о неуклюжем дизайне.Мне кажется, что вы действительно ищете инъекцию зависимостей, которая является эквивалентом того, что объекту нужен другой объект для работы.Поэтому вместо того, чтобы иметь
class Car:INeed<Engine> {
public Set(Engine engine)
}
, возможно, вы действительно хотите
class Car {
public Car(Engine engine)
}
На вашем месте я бы попытался выяснить, применимо ли вышеприведенное в вашем случае, а этоболее стандартный способ объявления потребностей / зависимостей