代码之家  ›  专栏  ›  技术社区  ›  CodingNinja

如何在MvvmLight中注册IoC中的多接口实现?

  •  0
  • CodingNinja  · 技术社区  · 9 年前

    Register Multiple Interface Implementation In LightInject IoC

    如何使用MvvmLight的Ioc来解决这个问题?

    SimpleIoc.Default.Register<IDataService, DataService1>("DataService1Key");
    SimpleIoc.Default.Register<IDataService, DataService2>("DataService2Key");
    ...
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Depechie    9 年前

    您还可以在MvvmLight中使用“类”键标识符,如下所示

    Class1 c1 = new Class1();
    Class2 c2 = new Class2();
    
    SimpleIoc.Default.Register<IDataClass>(() => c1, "Class1");
    SimpleIoc.Default.Register<IDataClass>(() => c2, "Class2");
    
    var t = SimpleIoc.Default.GetInstance<IDataClass>("Class1");
    var s = SimpleIoc.Default.GetInstance<IDataClass>("Class2");