【发布时间】:2019-07-16 00:26:19
【问题描述】:
我对 MVVM PPRISM 相当陌生,我正在重写一个使用 MVVMLight SimpleIOC 的项目。我在 MVVM Light 中注册时有以下代码行,我怀疑这是否是在 MVVM Prims 的 DryIOC 中转换它的正确方法。
SimpleIoc.Default.Register< iClassA, ClassA >();
SimpleIoc.Default.Register< iClassB, ClassB >();
// The factory method is necessary to prevent the linker from removing the class A constructor
SimpleIoc.Default.Register<IClassC>(() => new ClassC(SimpleIoc.Default.GetInstance<IClassA>(), SimpleIoc.Default.GetInstance<IClassB>()));
我的问题是containerRegistry.GetContainer().Resolve<IClassInterface>() 是从SimpleIoc.Default.GetInstance< IClassInterface >() 转换的正确方法
containerRegistry.Register<iClassA, ClassA>();
containerRegistry.Register<iClassB, ClassB>();
containerRegistry.RegisterInstance<ClassC>(new ClassC((iClassA)containerRegistry.GetContainer().Resolve<iClassA>(), (iClassB)containerRegistry.GetContainer().Resolve<iClassB >()));
【问题讨论】:
标签: c# mvvm containers prism mvvm-light