using System; namespace BLToolkit.Common { [Obsolete("Use System.Tuple")] public struct Tuple { public Tuple(T1 field1, T2 field2) { Field1 = field1; Field2 = field2; } public readonly T1 Field1; public readonly T2 Field2; public override int GetHashCode() { int hash1 = Field1 == null ? 0 : Field1.GetHashCode(); int hash2 = Field2 == null ? 0 : Field2.GetHashCode(); return ((hash1 << 5) + hash1) ^ hash2; } public override bool Equals(object obj) { if (obj is Tuple) { Tuple t = (Tuple)obj; return (Field1 == null ? t.Field1 == null : Field1.Equals(t.Field1)) && (Field2 == null ? t.Field2 == null : Field2.Equals(t.Field2)); } return false; } } [Obsolete("Use System.Tuple")] public struct Tuple { public Tuple(T1 field1, T2 field2, T3 field3) { Field1 = field1; Field2 = field2; Field3 = field3; } public readonly T1 Field1; public readonly T2 Field2; public readonly T3 Field3; public override int GetHashCode() { int hash1 = Field1 == null ? 0 : Field1.GetHashCode(); int hash2 = Field2 == null ? 0 : Field2.GetHashCode(); hash1 = ((hash1 << 5) + hash1) ^ hash2; hash2 = Field3 == null ? 0 : Field3.GetHashCode(); return ((hash1 << 5) + hash1) ^ hash2; } public override bool Equals(object obj) { if (obj is Tuple) { Tuple t = (Tuple)obj; return (Field1 == null ? t.Field1 == null : Field1.Equals(t.Field1)) && (Field2 == null ? t.Field2 == null : Field2.Equals(t.Field2)) && (Field3 == null ? t.Field3 == null : Field3.Equals(t.Field3)); } return false; } } [Obsolete("Use System.Tuple")] public struct Tuple { public Tuple(T1 field1, T2 field2, T3 field3, T4 field4) { Field1 = field1; Field2 = field2; Field3 = field3; Field4 = field4; } public readonly T1 Field1; public readonly T2 Field2; public readonly T3 Field3; public readonly T4 Field4; public override int GetHashCode() { int hash1 = Field1 == null ? 0 : Field1.GetHashCode(); int hash2 = Field2 == null ? 0 : Field2.GetHashCode(); hash1 = ((hash1 << 5) + hash1) ^ hash2; hash2 = Field3 == null ? 0 : Field3.GetHashCode(); hash1 = ((hash1 << 5) + hash1) ^ hash2; hash2 = Field4 == null ? 0 : Field4.GetHashCode(); return ((hash1 << 5) + hash1) ^ hash2; } public override bool Equals(object obj) { if (obj is Tuple) { Tuple t = (Tuple)obj; return (Field1 == null ? t.Field1 == null : Field1.Equals(t.Field1)) && (Field2 == null ? t.Field2 == null : Field2.Equals(t.Field2)) && (Field3 == null ? t.Field3 == null : Field3.Equals(t.Field3)) && (Field4 == null ? t.Field4 == null : Field4.Equals(t.Field4)); } return false; } } }