我在 Silverlight 4 中有以下场景:
我有通知服务
片段
[InheritedExport]
public interface INotificationsService : IObservable<ReceivedNotification>
{
void IssueNotifications(IEnumerable<ClientIssuedNotification> notifications);
}
以及此服务片段的实施
[PartCreationPolicy(CreationPolicy.NonShared)]
public class ClientNotificationService : INotificationsService
{
[Import]
IPlugin Plugin { get; set; }
...
}
我怎么能对 MEF 说 ClientNotificationService 的 Plugin 属性必须由导入 INotificationsService 的导入类提供。
例如:
片段
public class Client
{
[Export]
IPlugin Current { get; set; }
[Import]
INotificationService NotificationService;
}
我怎么能说我希望 MEF 使用 Client 类导出的 IPlugin 来满足 ClientNotificationService.Plugin 部分。
基本上,我希望 NotificationService 接收导入类提供的唯一 ID,无论何时它被创建并组合到一个新类,或者如果有其他方法,比如使用元数据来做到这一点,我会很感激任何见解。我已经为此苦苦挣扎了一段时间。
谢谢