Ninject.Infrastructure.ReferenceEqualWeakReference.Equals C# (CSharp) Метод

Equals() публичный Метод

Determines whether the specified object is equal to this instance.
/// The parameter is null. ///
public Equals ( object obj ) : bool
obj object The to compare with this instance.
Результат bool
        public override bool Equals(object obj)
        {
            var thisInstance = this.IsAlive ? this.Target : this;

            var referenceEqualWeakReference = obj as WeakReference;
            if (referenceEqualWeakReference != null && referenceEqualWeakReference.IsAlive)
            {
                obj = referenceEqualWeakReference.Target;
            }

            return ReferenceEquals(thisInstance, obj);
        }

Usage Example

        public void ReferencesIsEqualToTheInstanceItIsReferringTo()
        {
            var instance = new object();
            var reference = new ReferenceEqualWeakReference(instance);

            reference.Equals(instance).Should().BeTrue();
            reference.GetHashCode().Should().Be(instance.GetHashCode());
        }
All Usage Examples Of Ninject.Infrastructure.ReferenceEqualWeakReference::Equals