<PackageReference Include="Castle.Windsor" Version="4.0.0" />

HandlerExtensionsUtil

public static class HandlerExtensionsUtil
using Castle.Core; using System; using System.Collections.Generic; namespace Castle.MicroKernel.Handlers { public static class HandlerExtensionsUtil { public static readonly string ReleaseExtensionsKey = "Castle.ReleaseExtensions"; public static readonly string ResolveExtensionsKey = "Castle.ResolveExtensions"; public static ICollection<IReleaseExtension> ReleaseExtensions(this ComponentModel model, bool ensureExists) { if (model == null) throw new ArgumentNullException("model"); ICollection<IReleaseExtension> collection = model.ExtendedProperties[ReleaseExtensionsKey] as ICollection<IReleaseExtension>; if ((collection == null) & ensureExists) { collection = new HashSet<IReleaseExtension>(); model.ExtendedProperties[ReleaseExtensionsKey] = collection; } return collection; } public static ICollection<IResolveExtension> ResolveExtensions(this ComponentModel model, bool ensureExists) { if (model == null) throw new ArgumentNullException("model"); ICollection<IResolveExtension> collection = model.ExtendedProperties[ResolveExtensionsKey] as ICollection<IResolveExtension>; if ((collection == null) & ensureExists) { collection = new HashSet<IResolveExtension>(); model.ExtendedProperties[ResolveExtensionsKey] = collection; } return collection; } } }