インデクサ
プロパティと似た機能でインデクサというものがある。クラスを配列として扱うことができる。
class Rainbow
{
private string[] sColors;
public Rainbow () { sColors = new string [] { "赤", "橙", "黄", "緑", "青", "藍", "紫" }; }
public string this [int index] // インデクサ宣言子
{
get { return sColors [index]; } // 取得用のアクセサ
set { sColors [index] = value; } // 設定用のアクセサ
}
public int Length
{
get { return sColors.Length; }
}
static void Main ()
{
Rainbow rainbow = new Rainbow ();
rainbow [1] = "orange"; // set が呼び出される
for (int i = 0; i < rainbow.Length; i ++)
System.Console.WriteLine (rainbow [i]); // get が呼び出される
}
}
こちらも set アクセサには暗黙の引数として value が渡される。代入された右辺値である。
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2134
コメント