【发布时间】:2017-10-05 18:37:30
【问题描述】:
让我们考虑以下场景:
class Master
{
private Person selectedPerson;
public Person SelectedPerson
{
get
{
return selectedPerson;
}
set
{
selectedPerson = value;
}
}
}
[Export(typeof(Details))]
class Details
{
[ImportingConstructor]
public Details(Person person)
{
}
}
我需要使用 SelectedPerson 作为参数来初始化 Details 的实例。因此,基本上,我需要将 Person 的特定实例注入到 Details 构造函数中。
如何使用 MEF 做到这一点?
【问题讨论】:
-
我认为 MEF 不可能,您应该创建一个能够加载个人详细信息的服务,然后将该服务导入到详细信息类中。然后,您可以使用来自 person 对象的可用信息,从服务中加载正确的详细信息。即 var contactDetail = contactDetailService.Load(person.Id);
标签: c# mef ioc-container