Indexery
Indexery jsou prostě jednoduché de fakto metody, které umí pak přistupovat pomocí [], aby to bylo pole. Zde máte jednoduchý příklad na indexery.
using System;
using System.Collections;
class MyListBox
{
// nový seznam dat
protected ArrayList data = new ArrayList();
// a jdeme na to! definujeme si indexer
public object this[int idx]
{
// pro čtení
get
{
if (idx > -1 && idx < data.Count)
{
return (data[idx]);
}
else
{
return null;
}
}
// pro zápis
set
{
if (idx > -1 && idx < data.Count)
{
data[idx] = value;
}
else if (idx == data.Count)
{
data.Add(value);
}
}
}
class Indexers1App
{
public static void Main()
{
MyListBox lbx = new MyListBox();
lbx[0] = "foo";
lbx[1] = "bar";
lbx[2] = "baz";
Console.WriteLine("{0} {1} {2}", lbx[0], lbx[1], lbx[2]);
}
}