Skip to content

Instantly share code, notes, and snippets.

@rarous
Created September 20, 2012 13:09
Show Gist options
  • Select an option

  • Save rarous/3755795 to your computer and use it in GitHub Desktop.

Select an option

Save rarous/3755795 to your computer and use it in GitHub Desktop.
Extension for safe registration of Facility
using System.Linq;
using Castle.MicroKernel;
using Castle.Windsor;
public static class WindsorExtensions
{
public static IWindsorContainer AddFacilitySafe<TFacility>(this IWindsorContainer container)
where TFacility : class, IFacility, new()
{
if (container.Kernel.GetFacilities().Any(x => x.GetType() == typeof(TFacility)))
return container;
return container.AddFacility<TFacility>();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment