0
我在解析在UnityContainer中註冊的類型時遇到問題。在我的引導程序中,我忽略了ConfigureContainer方法。現在,這種方法看起來像這樣UnityContainer無法解析類型
protected override void ConfigureContainer()
{
base.ConfigureContainer();
RegisterTypeIfMissing(typeof(IView<ShellViewModel>), typeof(Shell), false);
RegisterTypeIfMissing(typeof(CommandReaderWriter), typeof(CommandReaderWriter), true);
}
然後在功能CreateShell(也bootstraper)我想類型CommandReaderWriter的情況,所以我做這個
var raeder = Container.TryResolve<CommandReaderWriter>();
可惜的是這將返回空值。我也試過
var anotherReader = Container.TryResolve(typeof (CommandReaderWriter));
但它並沒有把戲。但有趣的是,
var isRegistered = Container.IsTypeRegistered(typeof (CommandReaderWriter));
返回true。
那麼在UnityContainer中註冊singletone的方法是什麼?
我不知道UnityBootstrapper,但我敢打賭RegisterTypeIfMissing期望第一個參數是一個接口,而不是一個類。你能到達IUnityContainer並只使用普通的Unity方法進行註冊嗎? – ErnieL 2012-02-20 19:39:40