我已經在Silverlight 4以下情形的出口和手託部分:MEF:使用出口從組成部分
我有一個通知服務
片段
[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由客戶端類,以滿足與出口IPlugin的ClientNotificationService.Plugin部分。
基本上我希望NotificationService接收由導入類提供的唯一ID,只要它被創建並組成一個新的類, 或者如果有替代方法,就像使用元數據來做到這一點一樣感謝任何見解。我一直在努力。
感謝
感謝您的回答,但我真正需要的是'範圍'解決方案的一個王者,一個能夠自動解決此類問題的解決方案。我需要更多地研究這個問題,看看我該如何實施這樣的解決方案。 – 2010-06-21 06:36:08