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;
}
}
}