示例#1
0
        /// <inheritdoc />
        public override int GetHashCode()
        {
            unchecked
            {
                var hashCode = Position != null?Position.GetHashCode() : 0;

                hashCode = (hashCode * 397) ^ (int)Width;
                hashCode = (hashCode * 397) ^ (int)Height;
                hashCode = (hashCode * 397) ^ (int)MeasuredWidth;
                hashCode = (hashCode * 397) ^ (int)MeasuredHeight;
                hashCode = (hashCode * 397) ^ (Margin != null ? Margin.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Border != null ? Border.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Padding != null ? Padding.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (int)Direction;
                hashCode = (hashCode * 397) ^ ComputedFlexBasisGeneration;
                hashCode = (hashCode * 397) ^ ComputedFlexBasis.GetHashCode();
                hashCode = (hashCode * 397) ^ HadOverflow.GetHashCode();
                hashCode = (hashCode * 397) ^ GenerationCount;
                hashCode = (hashCode * 397) ^ (int)LastOwnerDirection;
                hashCode = (hashCode * 397) ^ NextCachedMeasurementsIndex;
                hashCode = (hashCode * 397) ^ (CachedMeasurements != null ? CachedMeasurements.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (CachedLayout != null ? CachedLayout.GetHashCode() : 0);
                return(hashCode);
            }
        }
示例#2
0
 //Return the same value if Equals return true
 public override int GetHashCode()
 {
     //XOR
     return(this.BaseStructureNames.GetHashCode() ^ Margin.GetHashCode());
 }