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

ServiceOverride

public class ServiceOverride
Represents a service override.
using System; namespace Castle.MicroKernel.Registration { public class ServiceOverride { public object DependencyKey { get; set; } public Type Type { get; set; } public object Value { get; set; } internal ServiceOverride(object dependencyKey, object value) : this(dependencyKey, value, null) { } internal ServiceOverride(object dependencyKey, object value, Type type) { DependencyKey = dependencyKey; Value = value; Type = type; } public static ServiceOverrideKey ForKey(string key) { return new ServiceOverrideKey(key); } public static ServiceOverrideKey ForKey(Type key) { return new ServiceOverrideKey(key); } public static ServiceOverrideKey ForKey<TKey>() { return new ServiceOverrideKey(typeof(TKey)); } public static implicit operator Dependency(ServiceOverride item) { if (item != null) return new Dependency(item); return null; } } }