From f3de89c5bfaad5dcd629f7100ec904b4676c7ae3 Mon Sep 17 00:00:00 2001 From: ayende Date: Fri, 26 Jan 2007 11:00:33 +0000 Subject: [PATCH] Applied patch from Dave Godfrey, fixing IoC-61, Resolving a generic component by id and type fails git-svn-id: https://svn.castleproject.org/svn/castle/trunk@3320 73e77b4c-caa6-f847-a29a-24ab75ae54b6 --- InversionOfControl/Castle.Windsor.Tests/WindsorDotNet2Tests.cs | 8 ++++++++ InversionOfControl/Castle.Windsor/WindsorContainer.cs | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/InversionOfControl/Castle.Windsor.Tests/WindsorDotNet2Tests.cs b/InversionOfControl/Castle.Windsor.Tests/WindsorDotNet2Tests.cs index 5244963b3..7f3e24a62 100644 --- a/InversionOfControl/Castle.Windsor.Tests/WindsorDotNet2Tests.cs +++ b/InversionOfControl/Castle.Windsor.Tests/WindsorDotNet2Tests.cs @@ -185,6 +185,14 @@ You must provide an override if a component has a dependency on a service that i Assert.IsTrue(typeof(ReviewerRepository).IsInstanceOfType(repository), "Not ReviewerRepository!"); } + [Test] + public void ComplexGenericConfiguration_GetRepositoryByIdAndType() + { + IWindsorContainer container = new WindsorContainer(new XmlInterpreter(GetFilePath("ComplexGenericConfig.xml"))); + IRepository repository = container.Resolve>("generic.repository"); + Assert.IsTrue(typeof(DemoRepository).IsInstanceOfType(repository), "Not DemoRepository!"); + } + [Test] public void TestComponentLifestylePerGenericType() { diff --git a/InversionOfControl/Castle.Windsor/WindsorContainer.cs b/InversionOfControl/Castle.Windsor/WindsorContainer.cs index c0cd8844f..41103d289 100644 --- a/InversionOfControl/Castle.Windsor/WindsorContainer.cs +++ b/InversionOfControl/Castle.Windsor/WindsorContainer.cs @@ -317,7 +317,7 @@ namespace Castle.Windsor /// public virtual object Resolve(String key, Type service) { - return kernel[key]; + return kernel.Resolve(key, service); } /// -- 2.11.4.GIT