1
동일한 내보내기의 여러 인스턴스를 만들 때 MEF를 사용하고 있습니다.MEF 컨테이너로 생성 된 추적 인스턴스
:나는 여기
코드의 ... 내가 만든 인스턴스를 추적하고 싶습니다, 그리고 중 컨테이너를 조회하거나 recomposited 컬렉션을 사용하고,하지만 난 내 인스턴스를 결코interface IFoo{};
[Export(typeof(IFoo)),PartCreationPolicy(CreationPolicy.NonShared)]
class Foo{};
class FooTracker{
CompositionContainer _container;
int HowManyValues()
{
// this always returns 1 and invokes a constructor
return _container.GetExportedValue<IFoo>().Count();
}
int HowManyExports(){
// idem
return _container.GetExports<IFoo>().Count();
}
// idem
[ImportMany(AllowRecomposition=true,AllowRecomposition=true)]
protected IEnumerable<IFoo> Foos { get; set; }
}
내가 원하는 것은 이미 존재하는 인스턴스이며, 존재하지 않는 인스턴스가 있으면 새로운 인스턴스를 생성하지 않는 것입니다.
덕분에, 플로리안
+1 딩 딩. 귀하의 IFooTracker 정적 및 IDisposable 등록을 청소하지만, 이것은 당신이 아무것도의 인스턴스를 추적하는 방법입니다. –