Я пытаюсь освободить значение общего экземпляра или одноэлементное значение. Кто-нибудь знает как это сделать? Нужно ли обновлять каталог? Я изучаю MEF, поэтому, пожалуйста, помогите.
Пример класса
[Export]
public class Foo
{
public RandomProperty {get;set;}
[ImportConstructor]
public Foo() {}
}
Вы можете создать его примерно так:
var fooSingleton = ServiceLocator.GetInstance(typeof(Foo));
Все хорошо, но в идеале я хотел бы сделать что-то вроде этого
Container.Replace(oldFoo, newFoo);
Так что, когда я позвоню снова
var fooSingleton = ServiceLocator.GetInstance(typeof(Foo));
fooSingleton будет иметь новое значение.
Я думаю, что ответ, вероятно, основан на фактической очистке каталога и последующем его обновлении - но это кажется излишним для такой простой вещи.