From: <jer...@us...> - 2008-04-07 14:07:55
|
Revision: 76 http://structuremap.svn.sourceforge.net/structuremap/?rev=76&view=rev Author: jeremydmiller Date: 2008-04-07 07:00:27 -0700 (Mon, 07 Apr 2008) Log Message: ----------- Moving the InstanceManager reference to InstanceFactory Modified Paths: -------------- trunk/Source/StructureMap/Graph/Plugin.cs trunk/Source/StructureMap/InstanceBuilder.cs trunk/Source/StructureMap/InstanceFactory.cs trunk/Source/StructureMap/InstanceManager.cs trunk/Source/StructureMap/Pipeline/ConfiguredInstance.cs trunk/Source/StructureMap/Pipeline/Instance.cs trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs trunk/Source/StructureMap.Testing/Container/ImplicitDefaultTest.cs trunk/Source/StructureMap.Testing/Container/InstanceFactoryTester.cs trunk/Source/StructureMap.Testing/Container/Interceptors/SingletonInterceptorTester.cs trunk/Source/StructureMap.Testing/Container/Interceptors/ThreadLocalStorageInterceptorTester.cs trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs trunk/Source/StructureMap.Testing/ObjectMother.cs trunk/Source/StructureMap.Testing/Pipeline/DefaultInstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/InstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/LiteralInstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/PrototypeInstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/ReferencedInstanceTester.cs trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj trunk/Source/StructureMap.Testing.Widget5/BasicGridColumnInstanceBuilder.cs Modified: trunk/Source/StructureMap/Graph/Plugin.cs =================================================================== --- trunk/Source/StructureMap/Graph/Plugin.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap/Graph/Plugin.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -240,13 +240,13 @@ ConstructorInfo ctor = GetConstructor(); foreach (ParameterInfo parameter in ctor.GetParameters()) { - returnValue = returnValue && canTypeBeAutoFilled(parameter.ParameterType); + returnValue = returnValue && TypeCanBeAutoFilled(parameter.ParameterType); } foreach (SetterProperty setter in Setters) { Type propertyType = setter.Property.PropertyType; - returnValue = returnValue && canTypeBeAutoFilled(propertyType); + returnValue = returnValue && TypeCanBeAutoFilled(propertyType); } return returnValue; @@ -377,7 +377,7 @@ return returnValue; } - private bool canTypeBeAutoFilled(Type parameterType) + public static bool TypeCanBeAutoFilled(Type parameterType) { bool cannotBeFilled = false; @@ -388,6 +388,11 @@ return !cannotBeFilled; } + + public static bool TypeIsPrimitive(Type parameterType) + { + return parameterType.IsValueType || parameterType.Equals(typeof (string)); + } public override bool Equals(object obj) { Modified: trunk/Source/StructureMap/InstanceBuilder.cs =================================================================== --- trunk/Source/StructureMap/InstanceBuilder.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap/InstanceBuilder.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -19,18 +19,8 @@ public abstract string PluggedType { get; } public abstract string ConcreteTypeKey { get; } - public InstanceManager Manager - { - get { return _manager; } - } - public abstract object BuildInstance(IConfiguredInstance instance, StructureMap.Pipeline.IInstanceCreator creator); - public void SetInstanceManager(InstanceManager manager) - { - _manager = manager; - } - public bool IsType(Type type) { Type plugged = Type.GetType(PluggedType); Modified: trunk/Source/StructureMap/InstanceFactory.cs =================================================================== --- trunk/Source/StructureMap/InstanceFactory.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap/InstanceFactory.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -19,8 +19,8 @@ private readonly Dictionary<string, InstanceBuilder> _instanceBuilders; private readonly InstanceInterceptor _interceptor = new NulloInterceptor(); private readonly Type _pluginType; - private InterceptorLibrary _interceptorLibrary = InterceptorLibrary.Empty; private MementoSource _source; + private InstanceManager _manager = new InstanceManager(); #region static constructors @@ -145,8 +145,8 @@ try { InstanceBuilder builder = _instanceBuilders[memento.ConcreteKey]; - object constructedInstance = builder.BuildInstance(memento, builder.Manager); - CompoundInterceptor interceptor = _interceptorLibrary.FindInterceptor(constructedInstance.GetType()); + object constructedInstance = builder.BuildInstance(memento, _manager); + InstanceInterceptor interceptor = _manager.FindInterceptor(constructedInstance.GetType()); return interceptor.Process(constructedInstance); } catch (StructureMapException) @@ -178,11 +178,7 @@ /// <param name="instanceManager"></param> public void SetInstanceManager(InstanceManager instanceManager) { - _interceptorLibrary = instanceManager.InterceptorLibrary; - foreach (InstanceBuilder builder in _instanceBuilders.Values) - { - builder.SetInstanceManager(instanceManager); - } + _manager = instanceManager; } /// <summary> Modified: trunk/Source/StructureMap/InstanceManager.cs =================================================================== --- trunk/Source/StructureMap/InstanceManager.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap/InstanceManager.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -70,12 +70,6 @@ } } - - public InterceptorLibrary InterceptorLibrary - { - get { return _interceptorLibrary; } - } - public virtual IInstanceFactory this[Type pluginType] { get @@ -502,5 +496,10 @@ protected delegate InstanceFactory CreateFactoryDelegate(Type type); #endregion + + public InstanceInterceptor FindInterceptor(Type type) + { + return _interceptorLibrary.FindInterceptor(type); + } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Pipeline/ConfiguredInstance.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/ConfiguredInstance.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap/Pipeline/ConfiguredInstance.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; namespace StructureMap.Pipeline { @@ -11,9 +12,28 @@ public class ConfiguredInstance : Instance { + private readonly Dictionary<string, string> _properties = new Dictionary<string, string>(); + private Dictionary<string, Instance> _children = new Dictionary<string, Instance>(); + protected override object build(Type type, IInstanceCreator creator) { throw new NotImplementedException(); } + + public string GetProperty(string propertyName) + { + if (!_properties.ContainsKey(propertyName)) + { + throw new StructureMapException(205, propertyName, Name); + } + + return _properties[propertyName]; + } + + public ConfiguredInstance SetProperty(string propertyName, string propertyValue) + { + _properties[propertyName] = propertyValue; + return this; + } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Pipeline/Instance.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/Instance.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap/Pipeline/Instance.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -12,6 +12,7 @@ object CreateInstance(string typeName, InstanceMemento memento); object CreateInstance(string typeName); object CreateInstance(Type type); + InstanceInterceptor FindInterceptor(Type type); } public interface IInstanceDiagnostics @@ -35,10 +36,15 @@ set { _interceptor = value; } } - public object Build(Type type, IInstanceCreator creator) + public virtual object Build(Type type, IInstanceCreator creator) { object rawValue = build(type, creator); - return _interceptor.Process(rawValue); + + // Intercept with the Instance-specific InstanceInterceptor + object interceptedValue = _interceptor.Process(rawValue); + + // Now, give the at large Interceptors a chance to intercept + return creator.FindInterceptor(interceptedValue.GetType()).Process(interceptedValue); } protected abstract object build(Type type, IInstanceCreator creator); Modified: trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -112,6 +112,8 @@ family.Plugins.Add(typeof (SomethingOne), "One"); InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); + InstanceMemento memento = factory.AddType<SomethingOne>(); Assert.AreEqual("One", memento.InstanceKey); Assert.AreEqual("One", memento.ConcreteKey); @@ -127,6 +129,7 @@ public void AddPluginForTypeWhenThePluginDoesNotAlreadyExistsDoesNothing() { InstanceFactory factory = ObjectMother.Factory<ISomething>(); + factory.SetInstanceManager(new InstanceManager()); InstanceMemento memento = factory.AddType<SomethingOne>(); Assert.IsNotNull(memento); Modified: trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -23,6 +23,8 @@ InstanceFactory cowFactory = new InstanceFactory(family, true); + cowFactory.SetInstanceManager(new InstanceManager()); + MemoryInstanceMemento memento = new MemoryInstanceMemento("Default", "Angus"); memento.SetProperty("Name", "Bessie"); Modified: trunk/Source/StructureMap.Testing/Container/ImplicitDefaultTest.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/ImplicitDefaultTest.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/ImplicitDefaultTest.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -13,6 +13,8 @@ typeof (IGateway), new string[] {"StructureMap.Testing.Widget3"}); + + DefaultGateway gateway = factory.GetInstance() as DefaultGateway; Assert.IsNotNull(gateway); } Modified: trunk/Source/StructureMap.Testing/Container/InstanceFactoryTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/InstanceFactoryTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/InstanceFactoryTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -160,6 +160,7 @@ InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); Assert.AreSame(factory.GetInstance("Red"), recordedService); } Modified: trunk/Source/StructureMap.Testing/Container/Interceptors/SingletonInterceptorTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/Interceptors/SingletonInterceptorTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/Interceptors/SingletonInterceptorTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -17,6 +17,7 @@ { PluginFamily family = ObjectMother.GetPluginFamily(typeof (Rule)); InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); _interceptor = new SingletonInterceptor(); _interceptor.InnerInstanceFactory = factory; Modified: trunk/Source/StructureMap.Testing/Container/Interceptors/ThreadLocalStorageInterceptorTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/Interceptors/ThreadLocalStorageInterceptorTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/Interceptors/ThreadLocalStorageInterceptorTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -16,6 +16,7 @@ { PluginFamily family = ObjectMother.GetPluginFamily(typeof (Rule)); InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); _interceptor = new ThreadLocalStorageInterceptor(); _interceptor.InnerInstanceFactory = factory; Modified: trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -196,6 +196,8 @@ // Just for fun, test with InstanceFactory too. InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); + MemoryInstanceMemento memento = new MemoryInstanceMemento("NotPluggable", string.Empty); memento.SetProperty("name", "DorothyTheDinosaur"); Modified: trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -57,6 +57,8 @@ family.Plugins.Add(plugin, true); InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); + InstanceMemento memento = _source.GetMemento("Enum"); EnumGridColumn column = (EnumGridColumn) factory.GetInstance(memento); @@ -72,6 +74,8 @@ family.Plugins.Add(plugin, true); InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); + InstanceMemento memento = _source.GetMemento("Long"); long count = long.Parse(memento.GetProperty("Count")); @@ -89,6 +93,8 @@ family.Plugins.Add(plugin, true); InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); + InstanceMemento memento = _source.GetMemento("String"); StringGridColumn column = (StringGridColumn) factory.GetInstance(memento); Modified: trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -95,6 +95,7 @@ family.Plugins.Add(typeof (ComplexType<int>), "complex"); InstanceFactory factory = new InstanceFactory(family, true); + factory.SetInstanceManager(new InstanceManager()); MemoryInstanceMemento memento = new MemoryInstanceMemento("complex", "Me"); memento.SetProperty("name", "Jeremy"); Modified: trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -39,8 +39,11 @@ PluginFamily stringFamily = family.CreateTemplatedClone(typeof (string)); InstanceFactory intFactory = new InstanceFactory(intFamily, true); + intFactory.SetInstanceManager(new InstanceManager()); + InstanceFactory stringFactory = new InstanceFactory(stringFamily, true); - + stringFactory.SetInstanceManager(new InstanceManager()); + GenericService<int> intService = (GenericService<int>) intFactory.GetInstance(); Assert.AreEqual(typeof (int), intService.GetT()); Modified: trunk/Source/StructureMap.Testing/ObjectMother.cs =================================================================== --- trunk/Source/StructureMap.Testing/ObjectMother.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/ObjectMother.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -96,7 +96,10 @@ pluginGraph.Seal(); PluginFamily family = pluginGraph.PluginFamilies[pluginType]; - return new InstanceFactory(family, false); + InstanceFactory factory = new InstanceFactory(family, false); + factory.SetInstanceManager(new InstanceManager()); + + return factory; } public static InstanceFactory Factory<T>() Modified: trunk/Source/StructureMap.Testing/Pipeline/DefaultInstanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Pipeline/DefaultInstanceTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Pipeline/DefaultInstanceTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -1,5 +1,6 @@ using NUnit.Framework; using Rhino.Mocks; +using StructureMap.Interceptors; using StructureMap.Pipeline; namespace StructureMap.Testing.Pipeline @@ -29,6 +30,7 @@ using (mocks.Record()) { Expect.Call(instanceCreator.CreateInstance(typeof(IDefault))).Return(theDefault); + Expect.Call(instanceCreator.FindInterceptor(theDefault.GetType())).Return(new NulloInterceptor()); } using (mocks.Playback()) Modified: trunk/Source/StructureMap.Testing/Pipeline/InstanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Pipeline/InstanceTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Pipeline/InstanceTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -22,7 +22,10 @@ { MockRepository mocks = new MockRepository(); InstanceInterceptor interceptor = mocks.CreateMock<InstanceInterceptor>(); + InstanceInterceptor interceptor2 = mocks.CreateMock<InstanceInterceptor>(); + StructureMap.Pipeline.IInstanceCreator instanceCreator = mocks.CreateMock<StructureMap.Pipeline.IInstanceCreator>(); + InstanceUnderTest instanceUnderTest = new InstanceUnderTest(); instanceUnderTest.Interceptor = interceptor; @@ -30,11 +33,16 @@ using (mocks.Record()) { Expect.Call(interceptor.Process(instanceUnderTest.TheInstanceThatWasBuilt)).Return(objectReturnedByInterceptor); + Expect.Call(instanceCreator.FindInterceptor(instanceUnderTest.TheInstanceThatWasBuilt.GetType())).Return + (interceptor2); + + Expect.Call(interceptor2.Process(objectReturnedByInterceptor)).Return(objectReturnedByInterceptor); } using (mocks.Playback()) { - Assert.AreEqual(objectReturnedByInterceptor, instanceUnderTest.Build(typeof(object), null)); + Assert.AreEqual(objectReturnedByInterceptor, instanceUnderTest.Build(typeof(object), instanceCreator)); + } } Modified: trunk/Source/StructureMap.Testing/Pipeline/LiteralInstanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Pipeline/LiteralInstanceTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Pipeline/LiteralInstanceTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -17,7 +17,7 @@ { ATarget target = new ATarget(); LiteralInstance<ITarget> instance = new LiteralInstance<ITarget>(target); - Assert.AreSame(target, instance.Build(typeof(ITarget), null)); + Assert.AreSame(target, instance.Build(typeof(ITarget), new StubInstanceCreator())); } public interface ITarget Modified: trunk/Source/StructureMap.Testing/Pipeline/PrototypeInstanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Pipeline/PrototypeInstanceTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Pipeline/PrototypeInstanceTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -19,7 +19,7 @@ PrototypeTarget target = new PrototypeTarget("Jeremy"); PrototypeInstance instance = new PrototypeInstance(target); - object returnedValue = instance.Build(typeof(PrototypeTarget), null); + object returnedValue = instance.Build(typeof(PrototypeTarget), new StubInstanceCreator()); Assert.AreEqual(target, returnedValue); Assert.AreNotSame(target, returnedValue); Modified: trunk/Source/StructureMap.Testing/Pipeline/ReferencedInstanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Pipeline/ReferencedInstanceTester.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/Pipeline/ReferencedInstanceTester.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -1,5 +1,6 @@ using NUnit.Framework; using Rhino.Mocks; +using StructureMap.Interceptors; using StructureMap.Pipeline; namespace StructureMap.Testing.Pipeline @@ -24,6 +25,7 @@ using (mocks.Record()) { + Expect.Call(instanceCreator.FindInterceptor(returnedValue.GetType())).Return(new NulloInterceptor()); Expect.Call(instanceCreator.CreateInstance(typeof(IReferenced), theReferenceKey)).Return(returnedValue); } Modified: trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj =================================================================== --- trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj 2008-04-07 14:00:27 UTC (rev 76) @@ -365,11 +365,13 @@ <Compile Include="ObjectMother.cs"> <SubType>Code</SubType> </Compile> + <Compile Include="Pipeline\ConfiguredInstanceTester.cs" /> <Compile Include="Pipeline\DefaultInstanceTester.cs" /> <Compile Include="Pipeline\InstanceTester.cs" /> <Compile Include="Pipeline\LiteralInstanceTester.cs" /> <Compile Include="Pipeline\PrototypeInstanceTester.cs" /> <Compile Include="Pipeline\ReferencedInstanceTester.cs" /> + <Compile Include="Pipeline\StubInstanceCreator.cs" /> <Compile Include="StructureMapConfigCreator.cs" /> <Compile Include="StructureMapConfigurationTester.cs" /> <Compile Include="TestData\DataMother.cs"> Modified: trunk/Source/StructureMap.Testing.Widget5/BasicGridColumnInstanceBuilder.cs =================================================================== --- trunk/Source/StructureMap.Testing.Widget5/BasicGridColumnInstanceBuilder.cs 2008-04-06 23:53:49 UTC (rev 75) +++ trunk/Source/StructureMap.Testing.Widget5/BasicGridColumnInstanceBuilder.cs 2008-04-07 14:00:27 UTC (rev 76) @@ -43,7 +43,7 @@ column.Rules = (Rule[]) - Manager.CreateInstanceArray("StructureMap.Testing.Widget.Rule", instance.GetChildrenArray("Rules")); + creator.CreateInstanceArray("StructureMap.Testing.Widget.Rule", instance.GetChildrenArray("Rules")); // // column.WrapLines = bool.Parse(Memento.GetProperty("WrapLines")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |