DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#で『Row[int i]』みたいなプロパティをクラスに追加するには?

環境/言語:[VC#.NET、Framework1.1]
分類:[.NET]

色々調べたのですが、どうしても抽象的な表現しか出来ず探せませんでしたので、どなたか教えてください。

CXXX xxx = new CXXX();
Debug.WriteLine( xxx.Row[0] );

上のような引数を持つプロパティの宣言の仕方はどのようにするのでしょうか?

public string Row[int i]
{
  get{return _Row[i];}
}

上のような記述ですとコンパイルで弾かれます。
実はとても簡単なことなのかも知れませんが、
どうしても分かりませんので、どうぞよろしくお願いします。
■No18026に返信(愛振さんの記事)
> 上のような引数を持つプロパティの宣言の仕方はどのようにするのでしょうか?

インデクサについて調べてみると良いと思います。
MSDN ライブラリ (リファレンス) に答えが普通に書いてあります。
単純に配列を返すプロパティという可能性はどうでしょう?

private string[] _Row;
public string[] Row
{
    get{return _Row;}
}
返答が遅くなってすいません。
MSDNでインデクサで検索した所、
public string Row this[int i]
という書き方で対応できました。
インデクサと言う呼び方があることが分かっただけでも
私にとって大きな進展でした。ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板