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; }
}
L'importation unique fonctionne parce que j'ai un contrat nommé, mais l'importation multiple ne fonctionne pas. Si je modifie les attributs d'exportation et supprime le contrat nommé, l'importation multiple fonctionne, mais pas l'importation simple. Comment puis-je faire en sorte que les deux fonctionnent en même temps ?