У меня есть этот класс:
public interface IHandles<DOMAINEVENT> where DOMAINEVENT : IDomainEvent
{
void Handle(DOMAINEVENT args);
}
[Export(typeof(IHandles<IDomainEvent>))]
public class NewMemberWasRegisteredHandler : IHandles<NewMemberWasRegistered>
{
public void Handle(NewMemberWasRegistered args)
{
//EmailSender.Send
Console.WriteLine("***New Member Registration Email Sent");
}
}
, который я пытаюсь экспортировать в:
открытый класс HandlerContainer {public HandlerContainer () {Handlers = new List> ();}
[ImportMany()]
public List<IHandles<IDomainEvent>> Handlers { get; set; }
}
Исключение, которое я получаю:
1) Экспорт 'Multi_Tenant_MEF_Solution.NewMemberWasRegisteredHandler (ContractName = "Multi_Tenant_MEF_Solution.IHandles (Multi_Tenant_MEF_Solution.") notmain not not not)набрать 'Multi_Tenant_MEF_Solution.IHandles`1 [[Multi_Tenant_MEF_Solution.IDomainEvent, Multi-Tenant-MEF-Solution, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null]]'.
Я MEFnewb (2 часа), так что это сбивает с толку меня.Все примеры, которые я могу найти, используют конструкторы без параметров Import и Export, поэтому я не знаю, какими должны быть мои typeof () или строковые контракты.