Прочитать на английском

Поделиться через


Ошибка компилятора CS0229

Неоднозначность между "член1" и "член2"

Члены разных интерфейсов имеют одинаковые имена. Если вы хотите использовать те же имена, необходимо определить их. Дополнительные сведения см. в статье Интерфейсы.

Примечание

В некоторых случаях неоднозначность можно устранить, явно предоставив префикс интерфейса с помощью псевдонима using.

Пример

В следующем примере возникает ошибка CS0229:

C#
// 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() {}  
}