<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0278</ErrorName>
  <Examples>
    <string>// CS0278: `IListCounter' contains ambiguous implementation of `enumerable' pattern. Method `IList.GetEnumerator()' is ambiguous with method `ICounter.GetEnumerator()'
// Line: 26
// Compiler options: -warnaserror -warn:2

using System;
using System.Collections;

interface IList 
{
	IEnumerator GetEnumerator ();
}

interface ICounter 
{
	IEnumerator GetEnumerator ();
}

interface IListCounter: IList, ICounter
{
}

class Test
{
	static void Foo (IListCounter t)
	{
		foreach (var e in t)
		{
		}
	}
}
</string>
    <string>// CS0278: `Testing.IMixedEnumerable' contains ambiguous implementation of `enumerable' pattern. Method `System.Collections.IEnumerable.GetEnumerator()' is ambiguous with method `Testing.ICustomEnumerable.GetEnumerator()'
// Line: 28
// Compiler options: -warnaserror -warn:2

using System;
using System.Collections;

namespace Testing {
        interface ICustomEnumerable {
                IEnumerator GetEnumerator();
        }

        interface IMixedEnumerable : IEnumerable, ICustomEnumerable {}

        class TestCollection : IMixedEnumerable {
                IEnumerator IEnumerable.GetEnumerator() {
                        return null;
                }

                IEnumerator ICustomEnumerable.GetEnumerator()  {
                        return null;
                }
        }

        class Test {
                public static void Main(string[] args) {
                        IMixedEnumerable c = new TestCollection();
                        foreach(object o in c) {}
                }
        }
}
</string>
  </Examples>
</ErrorDocumentation>