Ошибка компилятора CS0229
Обновлен: Ноябрь 2007
Сообщение об ошибке
Неоднозначность между "member1" и "member2"
Ambiguity between 'member1' and 'member2'
Члены разных интерфейсов имеют одинаковые имена. Для использования одинаковых имен необходимо указывать полные имена. Дополнительные сведения см. в разделе Интерфейсы (Руководство по программированию в C#).
![]() |
---|
В некоторых случаях для устранения неоднозначности достаточно явно указать префиксы идентификаторов с помощью псевдонима using. |
Пример
В следующем примере возникает ошибка 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() {}
}