Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <component id="Processors" service="System.Collections.Generic.IEnumerable`1[[Services.Interfaces.IProcessor, Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]" type="System.Collections.Generic.List`1[[Services.Interfaces.IProcessor, Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]">
- <parameters>
- <collection>
- <list>
- <item>${Processor1}</item>
- <item>${Processor2}</item>
- </list>
- </collection>
- <parameters>
- </component>
- <component id="Processor1" service="Services.Interfaces.IProcessor" type="Services.TestProcessor, Services">
- <parameters>
- <example>LIVE</example>
- <id>Processor1</id>
- </parameters>
- </component>
- <component id="Processor2" service="Services.Interfaces.IProcessor" type="Services.TestProcessor, Services">
- <parameters>
- <example>TEST</example>
- <id>Processor2</id>
- </parameters>
- </component>
- public class InjectIdSubDependencyResolver : ISubDependencyResolver
- {
- private const string SpecialName = "id";
- public bool CanResolve(
- CreationContext context, ISubDependencyResolver contextHandlerResolver,
- ComponentModel model, DependencyModel dependency)
- =>
- dependency.TargetType == typeof(string)
- &&
- dependency.DependencyKey == SpecialName
- &&
- dependency.Parameter?.ConfigValue == null;
- public object Resolve(
- CreationContext context, ISubDependencyResolver contextHandlerResolver,
- ComponentModel model, DependencyModel dependency)
- => model.Name;
- }
- IWindsorContainer wc = ...;
- wc.Kernel.Resolver.AddSubResolver(new InjectIdSubDependencyResolver());
- <component id="Processor1" service="Services.Interfaces.IProcessor" type="Services.TestProcessor, Services">
- <parameters>
- <example>LIVE</example>
- </parameters>
- </component>
- <component id="Processor2" service="Services.Interfaces.IProcessor" type="Services.TestProcessor, Services">
- <parameters>
- <example>TEST</example>
- </parameters>
- </component>
- public class Processors {
- public Processors(IEnumerable<IProcessor> collection) { /**/ }
- }
Add Comment
Please, Sign In to add comment