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

Castle.MicroKernel.LifecycleConcerns.LateBoundConcerns<TConcern>

public abstract class LateBoundConcerns<TConcern>
Lifetime concern that works for components that don't have their actual type determined upfront
namespace Castle.MicroKernel.LifecycleConcerns { public abstract class LateBoundConcerns<TConcern> { public bool HasConcerns { get; } public void AddConcern<TForType>(TConcern lifecycleConcern); public abstract void Apply(ComponentModel model, object component); protected List<TConcern> GetComponentConcerns(Type type); protected LateBoundConcerns(); } }