#region .ctor static Pair() { theHashCode = typeof( Pair ).AssemblyQualifiedName.GetHashCode(); unchecked { theHashCode += typeof( TFirst ).AssemblyQualifiedName.GetHashCode(); theHashCode += typeof( TSecond ).AssemblyQualifiedName.GetHashCode(); } } protected Pair() : base() { myHashCode = theHashCode; } public Pair( TFirst first, TSecond second ) : this() { myFirst = first; mySecond = second; unchecked { if ( null != first ) { myHashCode += first.GetHashCode(); } if ( null != second ) { myHashCode += second.GetHashCode(); } } } #endregion .ctor