Возможный дубликат:
класс с индексатором и свойством названный элемент
Просто наткнулся на то, чего раньше не видел, и мне стало интересно, почему это могло происходить?
В следующем классе я получаю ошибку компилятора «Член с таким же именем уже объявлен» в отношении «Item» и «this [...]».
public class SomeClass : IDataErrorInfo
{
public int Item { get; set; }
public string this[string propertyName]
{
get
{
if (propertyName == "Item" && Item <= 0)
{
return "Item must be greater than 0";
}
return null;
}
}
public string Error
{
get { return null; }
}
}
Компилятор, кажется, думает, что этот [...] и Item используют одно и то же имя члена. Это правильно / нормально? Я удивлен, что не сталкивался с этим раньше.