Look for an indexer in the class.
C# lets you define indexers to allow this sort of access.
Here is an example from the official guide for "SampleCollection".
public T this[int i]
{
get
{
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array.
return arr[i];
}
set
{
arr[i] = value;
}
}
Here is the definition from the official language specification:
An indexer is a member that enables objects to be indexed in the same way as an array. An indexer is declared like a property except that the name of the member is this followed by a parameter list written between the delimiters [ and ]. The parameters are available in the accessor(s) of the indexer. Similar to properties, indexers can be read-write, read-only, and write-only, and the accessor(s) of an indexer can be virtual.
One can find the full and complete definition in section 10.9 Indexers of the specification.