<PackageReference Include="Castle.Windsor" Version="3.4.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 (object.ReferenceEquals(null, obj)) return false; if (object.ReferenceEquals(this, obj)) return true; if (obj.GetType() != GetType()) return false; return Equals((DependencyDuplicate)obj); } public override int GetHashCode() { int num = (Dependency1 != null) ? Dependency1.GetHashCode() : 0; num = ((num * 397) ^ ((Dependency2 != null) ? Dependency2.GetHashCode() : 0)); return (num * 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; } } }