public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1> objTuple))
int IComparable.CompareTo(object? obj)
{
- return ((IStructuralComparable)this).CompareTo(obj, Comparer<object>.Default);
+ return CompareTo(obj, Comparer<object>.Default);
}
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
- return comparer.GetHashCode(m_Item1!);
+ return GetHashCode(comparer);
}
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
}
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
+ return comparer.GetHashCode(m_Item1!);
+ }
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(')');
return sb.ToString();
public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1, T2> objTuple))
int IComparable.CompareTo(object? obj)
{
- return ((IStructuralComparable)this).CompareTo(obj, Comparer<object>.Default);
+ return CompareTo(obj, Comparer<object>.Default);
}
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1, T2> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
- return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!));
+ return GetHashCode(comparer);
}
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
}
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
+ return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!));
+ }
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(", ");
sb.Append(m_Item2);
public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1, T2, T3> objTuple))
int IComparable.CompareTo(object? obj)
{
- return ((IStructuralComparable)this).CompareTo(obj, Comparer<object>.Default);
+ return CompareTo(obj, Comparer<object>.Default);
}
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1, T2, T3> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
- return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!));
+ return GetHashCode(comparer);
}
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
}
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
+ return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!));
+ }
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(", ");
sb.Append(m_Item2);
public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1, T2, T3, T4> objTuple))
int IComparable.CompareTo(object? obj)
{
- return ((IStructuralComparable)this).CompareTo(obj, Comparer<object>.Default);
+ return CompareTo(obj, Comparer<object>.Default);
}
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1, T2, T3, T4> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
- return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!));
+ return GetHashCode(comparer);
}
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
}
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
+ return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!));
+ }
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(", ");
sb.Append(m_Item2);
public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1, T2, T3, T4, T5> objTuple))
int IComparable.CompareTo(object? obj)
{
- return ((IStructuralComparable)this).CompareTo(obj, Comparer<object>.Default);
+ return CompareTo(obj, Comparer<object>.Default);
}
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1, T2, T3, T4, T5> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
- return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!), comparer.GetHashCode(m_Item5!));
+ return GetHashCode(comparer);
}
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
+ }
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
+ return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!), comparer.GetHashCode(m_Item5!));
}
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(", ");
sb.Append(m_Item2);
public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1, T2, T3, T4, T5, T6> objTuple))
int IComparable.CompareTo(object? obj)
{
- return ((IStructuralComparable)this).CompareTo(obj, Comparer<object>.Default);
+ return CompareTo(obj, Comparer<object>.Default);
}
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1, T2, T3, T4, T5, T6> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
- return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!), comparer.GetHashCode(m_Item5!), comparer.GetHashCode(m_Item6!));
+ return GetHashCode(comparer);
}
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
}
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
+ return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!), comparer.GetHashCode(m_Item5!), comparer.GetHashCode(m_Item6!));
+ }
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(", ");
sb.Append(m_Item2);
public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1, T2, T3, T4, T5, T6, T7> objTuple))
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1, T2, T3, T4, T5, T6, T7> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
- return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!), comparer.GetHashCode(m_Item5!), comparer.GetHashCode(m_Item6!), comparer.GetHashCode(m_Item7!));
+ return GetHashCode(comparer);
}
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
+ }
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
+ return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1!), comparer.GetHashCode(m_Item2!), comparer.GetHashCode(m_Item3!), comparer.GetHashCode(m_Item4!), comparer.GetHashCode(m_Item5!), comparer.GetHashCode(m_Item6!), comparer.GetHashCode(m_Item7!));
}
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(", ");
sb.Append(m_Item2);
public override bool Equals(object? obj)
{
- return ((IStructuralEquatable)this).Equals(obj, EqualityComparer<object>.Default);
+ return Equals(obj, EqualityComparer<object>.Default);
}
bool IStructuralEquatable.Equals(object? other, IEqualityComparer comparer)
{
+ return Equals(other, comparer);
+ }
+
+ private bool Equals(object? other, IEqualityComparer comparer)
+ {
if (other == null) return false;
if (!(other is Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> objTuple))
int IComparable.CompareTo(object? obj)
{
- return ((IStructuralComparable)this).CompareTo(obj, Comparer<object>.Default);
+ return CompareTo(obj, Comparer<object>.Default);
}
int IStructuralComparable.CompareTo(object? other, IComparer comparer)
{
+ return CompareTo(other, comparer);
+ }
+
+ private int CompareTo(object? other, IComparer comparer)
+ {
if (other == null) return 1;
if (!(other is Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> objTuple))
public override int GetHashCode()
{
- return ((IStructuralEquatable)this).GetHashCode(EqualityComparer<object>.Default);
+ return GetHashCode(EqualityComparer<object>.Default);
}
int IStructuralEquatable.GetHashCode(IEqualityComparer comparer)
{
+ return GetHashCode(comparer);
+ }
+
+ private int GetHashCode(IEqualityComparer comparer)
+ {
// We want to have a limited hash in this case. We'll use the last 8 elements of the tuple
ITupleInternal t = (ITupleInternal)m_Rest;
if (t.Length >= 8) { return t.GetHashCode(comparer); }
int ITupleInternal.GetHashCode(IEqualityComparer comparer)
{
- return ((IStructuralEquatable)this).GetHashCode(comparer);
+ return GetHashCode(comparer);
}
+
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append('(');
- return ((ITupleInternal)this).ToString(sb);
+ return ToString(sb);
}
string ITupleInternal.ToString(StringBuilder sb)
{
+ return ToString(sb);
+ }
+
+ private string ToString(StringBuilder sb)
+ {
sb.Append(m_Item1);
sb.Append(", ");
sb.Append(m_Item2);