public sealed override bool Equals(object obj) { if (object.ReferenceEquals(obj, this)) { return(true); } SimpleVirtualPropertyDefinition simpleVirtualPropertyDefinition = obj as SimpleVirtualPropertyDefinition; return(simpleVirtualPropertyDefinition != null && this.GetHashCode() == simpleVirtualPropertyDefinition.GetHashCode() && base.GetType() == simpleVirtualPropertyDefinition.GetType() && base.Name == simpleVirtualPropertyDefinition.Name && base.Type.Equals(simpleVirtualPropertyDefinition.Type)); }