FooService.cs :
public interface IFooService
{
int Foo();
}
[Export("Foo1", typeof(IFooService))]
public class Foo1 : IFooService
{
public int Foo() { return 1; }
}
[Export("Foo2", typeof(IFooService))]
public class Foo2 : IFooService
{
public int Foo() { return 2; }
}
FooViewModel.cs :
public class FooViewModel : NotificationObject
{
[ImportMany(typeof(IFooService))]
public IEnumerable<IFooService> FooServices { get; private set; }
[Import("Foo1")]
public IFooService FirstFoo { get; private set; }
}
Один импорт работает, потому что яесть именованный контракт, а мульти импорт - нет.Если я изменю атрибуты экспорта и удаляю именованный контракт, мультиимпорт работает, а одиночный импорт - нет.Как я могу заставить обоих работать одновременно?