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

ItemRegistration<TItem>

public class ItemRegistration<TItem>
using System; namespace Castle.MicroKernel.Registration.Proxy { public class ItemRegistration<TItem> { private IReference<TItem> item; internal IReference<TItem> Item => item; public ItemRegistration<TItem> Instance(TItem instance) { item = new InstanceReference<TItem>(instance); return this; } public ItemRegistration<TItem> Service<TService>() where TService : TItem { return this.Service(typeof(TService)); } public ItemRegistration<TItem> Service(Type serviceType) { item = new ComponentReference<TItem>(serviceType); return this; } public ItemRegistration<TItem> Service(string name) { item = new ComponentReference<TItem>(name); return this; } } }