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

PropertyKey

public class PropertyKey
Represents a property key.
using Castle.Core; using System; namespace Castle.MicroKernel.Registration { public class PropertyKey { private readonly object key; public object Key => key; internal PropertyKey(object key) { this.key = key; } public Property Eq(object value) { return new Property(key, value); } public ServiceOverride Is(string componentName) { return GetServiceOverrideKey().Eq(componentName); } public ServiceOverride Is(Type componentImplementation) { if (componentImplementation == (Type)null) throw new ArgumentNullException("componentImplementation"); return GetServiceOverrideKey().Eq(ComponentName.DefaultNameFor(componentImplementation)); } public ServiceOverride Is<TComponentImplementation>() { return Is(typeof(TComponentImplementation)); } private ServiceOverrideKey GetServiceOverrideKey() { if (key is Type) return ServiceOverride.ForKey((Type)key); return ServiceOverride.ForKey((string)key); } } }