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

DependencyDuplicate

public class DependencyDuplicate
using Castle.Core; namespace Castle.Windsor.Diagnostics { public class DependencyDuplicate { public DependencyModel Dependency1 { get; set; } public DependencyModel Dependency2 { get; set; } public DependencyDuplicationReason Reason { get; set; } public DependencyDuplicate(DependencyModel dependency1, DependencyModel dependency2, DependencyDuplicationReason reason) { Dependency1 = dependency1; Dependency2 = dependency2; Reason = reason; } public override bool Equals(object obj) { if (obj == null) return false; if (this == obj) return true; if (obj.GetType() != GetType()) return false; return Equals((DependencyDuplicate)obj); } public override int GetHashCode() { return (((((Dependency1 != null) ? Dependency1.GetHashCode() : 0) * 397) ^ ((Dependency2 != null) ? Dependency2.GetHashCode() : 0)) * 397) ^ Reason.GetHashCode(); } protected bool Equals(DependencyDuplicate other) { if (object.Equals(Dependency1, other.Dependency1) && object.Equals(Dependency2, other.Dependency2)) return Reason.Equals(other.Reason); return false; } } }