【发布时间】:2010-12-06 22:23:48
【问题描述】:
我正在使用 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% 会被使用。
【问题讨论】: