[C#] indexer

propertyは配列を返すこともできる。

public static string[] MonthNames
{
get
{
return strMonths;
}
}

Date.MonthNames[0]のようにしてアクセスする。これはpropertyが返す配列をindexしている。
おなじような使い方をclassのindexerですることができる。

public int this[int i]
{
get
{
switch (1)
{
case 0:  return Year;
case 1:  return Month;
case 2:  return Day;
default:  throw ArgumentOutOfRangeException("index = " ; i);
}
}
}

このclassのobjectをdtとすると、dt[0]でYearにアクセスできる。

広告
%d人のブロガーが「いいね」をつけました。