Witam. Chcę stworzyć indekser, który zwróci i-ty element mojej listy, która zawiera obiekty typu Object. Tutaj struktura mojej klasy Lista:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BibliotekaKlas
{
public class Lista
{
private List<Pracownik> lista;
public Lista()
{
lista = new List<Pracownik>();
}
public void ZapisConsole()
{
foreach(Pracownik p in lista)
{
p.ZapisConsole();
}
}
public void OdczytConsole()
{
Pracownik pracownik = new Pracownik();
pracownik.OdczytConsole();
lista.Add(pracownik);
}
public int Rozmiar
{
get
{
return lista.Count;
}
}
public Pracownik this[int i]
{
get
{
return lista[i];
}
}
}
}
Zalezy mi na poprawnym zdefiniowaniu indeksera, ma on wyłącznie zwracać i-ty element listy. Nie mam pojęcia jak w tym wypadku to zrobić, no i jak wykorzystać tę właściwość(chcę wywołać w klasie Program.cs, która jest klasą główną).
Domyślam się, że
return lista[i];
jest niepoprawne.
Klasy Pracownik nie wrzucam, ale jeśli będzie trzeba to wrzucę.
Z góry dziękuję za pomoc.