+2009-06-10 Marek Safar <marek.safar@gmail.com>
+
+ * IEqualityComparer.cs, IComparer.cs, IEnumerable.cs,
+ IEnumerator.cs: Add type variance.
+
2009-04-02 Jb Evain <jbevain@novell.com>
* Dictionary.cs (ValueCollection.CopyTo): fix for copying to
//
// Authors:
// Ben Maurer (bmaurer@users.sourceforge.net)
+// Marek Safar (marek.safar@gmail.com)
//
// (C) 2003 Ben Maurer
//
using System;
using System.Runtime.InteropServices;
-namespace System.Collections.Generic {
- public interface IComparer<T> {
+namespace System.Collections.Generic
+{
+#if NET_4_0
+ public interface IComparer<in T>
+#else
+ public interface IComparer<T>
+#endif
+ {
int Compare (T x, T y);
}
}
//
// Author:
// Martin Baulig (martin@ximian.com)
+// Marek Safar (marek.safar@gmail.com)
//
// (C) 2003 Novell, Inc.
//
namespace System.Collections.Generic
{
+#if NET_4_0
+ public interface IEnumerable<out T> : IEnumerable
+#else
public interface IEnumerable<T> : IEnumerable
+#endif
{
new IEnumerator<T> GetEnumerator ();
}
//
// Author:
// Martin Baulig (martin@ximian.com)
+// Marek Safar (marek.safar@gmail.com)
//
// (C) 2003 Novell, Inc.
//
namespace System.Collections.Generic
{
+#if NET_4_0
+ public interface IEnumerator<out T> : IDisposable, IEnumerator
+#else
public interface IEnumerator<T> : IDisposable, IEnumerator
+#endif
{
new T Current {
get;
//
// Authors:
// Ben Maurer (bmaurer@novell.com)
+// Marek Safar (marek.safar@gmail.com)
//
// (C) 2005 Ben Maurer
//
using System;
using System.Runtime.InteropServices;
-namespace System.Collections.Generic {
- public interface IEqualityComparer<T> {
+namespace System.Collections.Generic
+{
+#if NET_4_0
+ public interface IEqualityComparer<in T>
+#else
+ public interface IEqualityComparer<T>
+#endif
+ {
bool Equals (T x, T y);
int GetHashCode (T obj);
}