Error del compilador CS0229

Actualización: noviembre 2007

Mensaje de error

Ambigüedad entre 'miembro1' y 'miembro2'
Ambiguity between 'member1' and 'member2'

Miembros de interfaces diferentes tienen el mismo nombre. Si se desea mantener los mismos nombres, hay que calificarlos. Para obtener más información, vea Interfaces (Guía de programación de C#).

Nota:

En algunos casos, esta ambigüedad se puede resolver proporcionando un prefijo explícito al identificador a través de un alias using.

Ejemplo

En el código siguiente se genera el error CS0229:

// CS0229.cs

interface IList
{
    int Count
    {
        get;
        set;
    }

    void Counter();
}

interface Icounter
{
    double Count
    {
        get;
        set;
    }
}

interface IListCounter : IList , Icounter {}

class MyClass
{
    void Test(IListCounter x)
    {
        x.Count = 1;  // CS0229
        // Try one of the following lines instead:
        // ((IList)x).Count = 1;
        // or
        // ((Icounter)x).Count = 1;
    }

    public static void Main() {}
}