please create an issue in donjon On Sun, Feb 22, 2009 at 11:50 AM, christianacca < christian.crowhu...@btinternet.com> wrote:
> > This is quite surprising - I get a NotImplementException thrown when > trying to Resolve<T> a component that has a dependency on a dictionary > (either a Hasedtable or a generic Dictionary<T,U>), when the > dependency is *supplied at runtime*. > > I found a workaround - to declare the dependency as System.Object, but > this an ugly hack. > > Can someone please point out that I am wrong and indicate what the > appropriate way of supplying a dictionary to a component at runtime. > Here is the test that reproduces the problem (and the workaround). > > [Test] > public void ShouldBeAbleToSupplyDictionaryAsARuntimeParameter() > { > var container = new WindsorContainer(); > container.Register(Component.For<ClassTakingDictionary>()); > > var someDictionary = new Hashtable(); > > //The call to resolve throws NotImplementedException > var s = container.Resolve<ClassTakingDictionary>(new > { SomeDictionary = someDictionary }); > Assert.That(s, Is.Not.Null); > } > > > [Test] > public void Workaround() > { > var container = new WindsorContainer(); > container.Register(Component.For<ClassTakingDictionary>()); > > var someDictionary = new Hashtable(); > > var s = container.Resolve<ClassTakingDictionary>(new > { SomeDictionaryToBeInjected = someDictionary }); > Assert.That(s, Is.Not.Null); > } > > public class ClassTakingDictionary > { > public IDictionary SomeDictionary { get; set; } > > public object SomeDictionaryToBeInjected > { > set { SomeDictionary = value as IDictionary; } > } > } > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to castle-project-users@googlegroups.com To unsubscribe from this group, send email to castle-project-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---