QA@IT

IDataErrorInfoのthis[string columnName]について

7587 PV

お世話になります。
IDataErrorInfoクラスに以下のようにプロパティが書かれてあるコードが
あります。
①は、普通の書き方に思いますが、②ついてはどういう意味なのでしょうか?
配列なんでしょうか? .. msdnを見てみるとItemとありましたが、Dictionary?


// 戻り値:
// オブジェクトに関する間違いを示すエラー メッセージ。 既定値は、空の文字列 ("") です。
string Error { get; }


// 戻り値
// プロパティに関するエラー メッセージ。 既定値は、空の文字列 ("") です。
string this[string columnName] { get; }

回答

this[string columnName] のような記述はオブジェクトを配列のようにアクセスするためのものです。

using System;

class Sample
{
    public string Error
    {
        get { return "ore"; }
    }

    public string this[string columnName]
    {
        get { return "are: " + columnName; }
    }
}

class Program
{
    static void Main(string[] args)
    {
        var o = new Sample();
        Console.WriteLine(o.Error); // ore
        Console.WriteLine(o["sore"]); // are: sore
    }
}
編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。