A составная деталь - это деталь, которую можно импортировать в другую деталь. Пример здесь:
class Program
{
[Import]
public IMessageSender MessageSender { get; set; }
}
Program
не является составной частью. Это само по себе не импортируется автоматически в другую часть. Ваши экспортные данные для IMessageSender
являются составными частями.
Вы можете добавить детали деталей в контейнер, используя CompositionBatch
, что позволяет вам явно добавлять экземпляры Export
и ComposablePart
в ваш контейнер, или через расширение вы можете добавлять необработанные значения:
var user = new User() { Name = "Matt" };
var batch = new CompositionBatch();
batch.AddExportedValue(user);
CompositionContainer.Compose(batch);
Где последний вызов добавляет ваши части в контейнер.