public bool Equals(Weak <T> x, Weak <T> y) { if (x.IsAlive && x.Target.Equals(y.Target)) { return(true); } if (y.IsAlive && y.Target.Equals(x.Target)) { return(true); } return(false); }
public int GetHashCode(Weak <T> obj) { return(obj.IsAlive ? obj.Target.GetHashCode() : 0); }