Как реализовать собственный индексатор для ReadOnlyCollectionC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать собственный индексатор для ReadOnlyCollection

Сообщение Anonymous »

Учтите, я хочу предоставить список, доступный только для чтения.
public class Animal
{
public string Name { get; set; }
}

public class Zoo
{
private List _animals = new List ();
public ReadOnlyCollection Animals => _animals.AsReadOnly();

public void AddAnimal(Animal animal)
{
_animals.Add(animal);
}
}

Однако я могу получить доступ к этому списку только для чтения только с помощью индексатора int
Zoo z = new Zoo();
z.AddAnimal(new Animal() { Name = "Lion"});
var animal = z.Animals[0];

Как создать собственный индексатор по строке (т. е. выполнить поиск по имени животного)?

Я предпочитаю не использовать словарь.
var animal = z.Animals["Lion"];

Я попробовал создать собственный список, но не могу привести его к ReadOnlyCollection:
public class Animals : List
{

public Animal this[string name]
{
get
{

return (Animal)this.Where(x => x.Name == name);
}
}

}


Подробнее здесь: https://stackoverflow.com/questions/793 ... ollectiont
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как реализовать собственный индексатор для ReadOnlyCollection
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать собственный индексатор для ReadOnlyCollection
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • IradonlyCollection против ReadonlyCollection
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как сделать ReadonlyCollection из хэшта, не копируя элементы?
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как указать значения индекса в Python? IndexError: одиночный позиционный индексатор выходит за пределы
    Anonymous » » в форуме Python
    0 Ответы
    72 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»