Я не уверен на 100%, но я не думаю, что это возможно сделать с MEF.Тем не менее, один шаблон, который нужно использовать для обеспечения аналогичного поведения, - это шаблон фабрики / поставщика.
interface IData {}
interface IDataProvider {
IData Data { get; set; }
}
[Export(IDataProvider)]
class DataProvider : IDataProvider {
public IData { get; set; }
}
Вы можете использовать этот шаблон для динамического обновления реализации IData
до значения, которое вы хотели бы использовать.