我正在使用MEF进行我的第一个项目,但是我无法理解如何使用延迟加载。我的代码如下:
public static class MefLoader
{
private static CompositionContainer Container;
[ImportMany(typeof(IControlModule), AllowRecomposition = true)]
private static IEnumerable<Lazy<IControlModule, IImportComponentCapabilites>>
DllList { get; set; }
static MefLoader()
{
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new DirectoryCatalog("."));
Container = new CompositionContainer(catalog);
}
我大部分了解如何使用MEF,但我不知道如何初始化DllList对象。我想使用延迟加载,因为在最终系统中,我们有很多选项,但任何时候只有约10%的选项会被使用。