Reputation: 829
I'm currently making my own very basic generic list class (to get a better understanding on how the predefined ones work). Only problem I have is that I can't reach the elements inside the array as you normally do in say using "System.Collections.Generic.List
".
GenericList<type> list = new GenericList<type>();
list.Add(whatever);
This works fine, but when trying to access "whatever" I want to be able to write :
list[0];
But that obviously doesn't work since I'm clearly missing something in the code, what is it I need to add to my otherwise fully working generic class ?
Upvotes: 5
Views: 620
Reputation: 15928
I think all you need to do is implement IList<T>
, to get all the basic functionality
public interface IList<T>
{
int IndexOf(T item);
void Insert(int index, T item);
void RemoveAt(int index);
T this[int index] { get; set; }
}
Upvotes: 1
Reputation: 41757
It's called an indexer, written like so:
public T this[int i]
{
get
{
return array[i];
}
set
{
array[i] = value;
}
}
Upvotes: 12