Sadece bu tökezledi ettik o IDictionary<string, int>
Birlik kapta Sözlük çözülemiyor
_unityContainer = new UnityContainer()
.RegisterType<IDictionary<string, int>, Dictionary<string, int>>();
olduğunu varsayalım ama
var d = _unityContainer.Resolve<IDictionary<string, int>>();
o çözmek için başarısız
... Ben olsun
... çalışırsanız
Microsoft.Practices.Unity.ResolutionFailedException: Microsoft.Practices.Unity.ResolutionFailedException: Bağımlılık çözümlemesi başarısız oldu, type = "System.Collections.Generic.IDictionary`2 [System.String, System.Int32]", name = " (Yok)". İstisna şu durumlarda meydana geldi: çözümlenirken.
Özel durum: InvalidOperationException - Dictionary`2 türünde uzunluk 2'nin birden fazla kurucusu vardır. Netleştirilemiyor.
istisna zamanda
kap oldu:
çözme System.Collections.Generic.Dictionary 2[System.String,System.Int32],(none) (mapped from System.Collections.Generic.IDictionary
2 [System.string, System.ınt32], (yok)) --- System.InvalidOperationException: Dictionary`2 türü 2 uzunluğuna sahip birden fazla kurucuya sahiptir. Disambiguate ..
Bu yüzden bu sorunu gidermek için (Dictionary<string, int>
olmak üzere) buldu, ancak yeni bir hata ...
Birlik bu türü nasıl çözemez? Ben çalışan
IDictionary<string, int> d = new Dictionary<string, int>()
...
herhangi bir fikir yazarsanız?
Teşekkürler!
iş parçacığı ve öneri için teşekkürler - Ben sanırım ben yapamamış karmaşıklık başka bir düzeyde olan Sözlük için bir non-generic sarıcı yazmak gerekir :(- tekrar teşekkürler – kiwipom
gecikme için samimi özür dilerim bunu kabul ediyorum ... Neyse, sadece şu anda konuyu ele geçiren InjectionConstructor öneri konusunda yanınızda kaldınız ... şimdi kabul edildi olarak işaretlemek - teşekkürler :) – kiwipom