2
MEF를 사용하여 일반 기본 클래스의 파생 클래스를 가져 오는 방법을 알아 내려고하고 있습니다. 내가 플러그인을로드하기 위해 다음 코드를 사용하고일반 기본 클래스에 MEF 사용
interface IPlugin {}
abstract class PluginBase<T> : IPlugin {}
[Export(typeof(IPlugin))]
class Plugin1 : PluginBase<T1> {
public Plugin1(T1 t1) : base(t1) {};
}
[Export(typeof(IPlugin))]
class Plugin2 : PluginBase<T2> {
public Plugin1(T2 t2) : base(t2) {};
}
[ImportMany(typeof(IPlugin))]
List<IPlugin> importedList { get; set; }
: 이 클래스의 일반적인 설명이다
var aggCatalog = new AggregateCatalog(catalogList);
var container = new CompositionContainer(aggCatalog,
CompositionOptions.DisableSilentRejection);
container.ComposeParts(this);
는하지만 빈 목록을 얻을.
와우, 이것은 실제로 내가 생각했던 것보다 훨씬 간단했습니다. SO 시간 전에 게시해야했습니다 :). 'ImportingConstructor'속성을 시도했지만 컨테이너에 T1, T2를 추가하지 못했습니다!. – drtf