我知道我可以在以下地区获得所有已注册的观看次数:
var vs = mRegionManager.Regions[RegionNames.MainRegionStatic].Views.ToList();
Run Code Online (Sandbox Code Playgroud)
我可以看到有以下代码:
mRegionManager.Regions[RegionNames.MainRegionStatic].ActiveViews
Run Code Online (Sandbox Code Playgroud)
这是一个Active View列表,但我将我的区域附加到ContentControl,它始终只有一个ActiveView.我误解了或有没有办法获得单一的活动视图?
假设我有几个接口和一个实现它们的类:
public interface ISomething1 { /* blablabla */ }
public interface ISomething2 { /* blablabla */ }
public class Service : ISomething1, ISomething2 { /* blablabla x 2 */ }
Run Code Online (Sandbox Code Playgroud)
我想在SimpleIoc中使用以下两个接口注册该类:
SimpleIoc.Default.Register<ISomething1, Service >();
SimpleIoc.Default.Register<ISomething2, Service >();
Run Code Online (Sandbox Code Playgroud)
但是这里的第二行抛出一个带有消息的ArgumentException:
已添加具有相同键的项目.
我以为这里的关键是界面本身,但显然情况并非如此.我的想法是使用显式键但是我想通过依赖注入来获取实例,其中IoC只能与无密钥注册表一起使用.
那么我怎么能在这里使用SimpleIoc而不改变任何接口或实现本身呢?