// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_4_0
+#if MOONLIGHT || NET_4_0
using System;
using System.Collections;
get { return item1; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
return comparer.GetHashCode (item1);
}
get { return item2; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item3; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item4; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item5; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item6; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5, T6>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item7; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5, T6, T7>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return rest; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
return String.Format ("({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", item1, item2, item3, item4, item5, item6, item7, rest);
}
}
+
}
#endif
}
Console.WriteLine ();
- Console.WriteLine ("\t\tpublic int CompareTo (object obj)");
+ Console.WriteLine ("\t\tint IComparable.CompareTo (object obj)");
Console.WriteLine ("\t\t{");
- Console.WriteLine ("\t\t\treturn CompareTo (obj, Comparer<object>.Default);");
+ Console.WriteLine ("\t\t\treturn ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);");
Console.WriteLine ("\t\t}");
Console.WriteLine ();
- Console.WriteLine ("\t\t[MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }");
+ Console.WriteLine ("\t\t[MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)");
+ Console.WriteLine ("\t\t{");
+ Console.WriteLine ("\t\t\tthrow new NotImplementedException ();");
+ Console.WriteLine ("\t\t}");
Console.WriteLine ();
Console.WriteLine ("\t\tpublic override bool Equals (object obj)");
Console.WriteLine ("\t\t{");
- Console.WriteLine ("\t\t\treturn Equals (obj, EqualityComparer<object>.Default);");
+ Console.WriteLine ("\t\t\treturn ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);");
Console.WriteLine ("\t\t}");
Console.WriteLine ();
- Console.WriteLine ("\t\tpublic bool Equals (object other, IEqualityComparer comparer)");
+ Console.WriteLine ("\t\tbool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)");
Console.WriteLine ("\t\t{");
Console.WriteLine ("\t\t\tvar t = other as {0};", type_name);
Console.WriteLine ("\t\t\tif (t == null) {");
Console.WriteLine ("\t\t}");
Console.WriteLine ();
- Console.WriteLine ("\t\tpublic int GetHashCode (IEqualityComparer comparer)");
+ Console.WriteLine ("\t\tint IStructuralEquatable.GetHashCode (IEqualityComparer comparer)");
Console.WriteLine ("\t\t{");
if (arity == 1) {
Console.WriteLine ("\t\t\treturn comparer.GetHashCode ({0});", GetItemName (arity));