///<summary> /// Returns a value indicating whether this instance is equal to a specified object using value semantics. ///</summary> ///<param name="toObject">An object to compare to this instance.</param> ///<returns>true if toObject is a <see cref="EvlBehaviorBase"/> and has the same value as this instance; otherwise, false.</returns> public virtual bool Equals(EvlBehaviorBase toObject) { if (toObject == null) { return(false); } return(ValueEquals(this, toObject)); }
/// <summary> /// Initializes a new instance of the EvlBehaviorKey class. /// </summary> public EvlBehaviorKey(EvlBehaviorBase entity) { this.Entity = entity; #region Init Properties if (entity != null) { this.Id = entity.Id; } #endregion }
///<summary> /// Determines whether the specified <see cref="EvlBehaviorBase"/> instances are considered equal using value semantics. ///</summary> ///<param name="Object1">The first <see cref="EvlBehaviorBase"/> to compare.</param> ///<param name="Object2">The second <see cref="EvlBehaviorBase"/> to compare. </param> ///<returns>true if Object1 is the same instance as Object2 or if both are null references or if objA.Equals(objB) returns true; otherwise, false.</returns> public static bool ValueEquals(EvlBehaviorBase Object1, EvlBehaviorBase Object2) { // both are null if (Object1 == null && Object2 == null) { return(true); } // one or the other is null, but not both if (Object1 == null ^ Object2 == null) { return(false); } bool equal = true; if (Object1.Id != Object2.Id) { equal = false; } if (Object1.Subject != null && Object2.Subject != null) { if (Object1.Subject != Object2.Subject) { equal = false; } } else if (Object1.Subject == null ^ Object2.Subject == null) { equal = false; } if (Object1.CatelogId != null && Object2.CatelogId != null) { if (Object1.CatelogId != Object2.CatelogId) { equal = false; } } else if (Object1.CatelogId == null ^ Object2.CatelogId == null) { equal = false; } if (Object1.Weight != null && Object2.Weight != null) { if (Object1.Weight != Object2.Weight) { equal = false; } } else if (Object1.Weight == null ^ Object2.Weight == null) { equal = false; } if (Object1.ModelId != null && Object2.ModelId != null) { if (Object1.ModelId != Object2.ModelId) { equal = false; } } else if (Object1.ModelId == null ^ Object2.ModelId == null) { equal = false; } return(equal); }