0

を使用しDataTable["content_name"]DataReader["content_name"]いますが、この方法を使用して独自のオブジェクトを作成してデータにアクセスする方法がわかりません。

datareader の結果コンテナーを作成したい (DataTable は、firebird で db に不要なクエリを作成します)。

4

3 に答える 3

1

必要なのはインデクサーです。これを読んでください

于 2012-06-22T09:49:51.137 に答える
1

何かのようなもの

public class MyClass
{
  private List<String> _myData;

  public MyClass()
  {
    _myData = new List<String>();
  }

  public String this[String argIndex]
  {
    get
    {
      return _myData[argIndex];
    }
    set
    {
      _myData[argIndex] = value;
    }
  }
}

それは、あなたがそれを知るまで、通常あなたを困惑させるのはこのビットです.

于 2012-06-22T09:55:55.063 に答える
0

クラスにディクショナリと新しいインデクサー プロパティを追加します。

private Dictionary<string, string> dataTable = new Dictionary<string, string>();

public string this[string key]
{
   get
   {
      if (this.dataTable.ContainsKey(key))
          return this.dataTable[key];
      else
          return string.Empty;
   }
   set
   {
       if (this.dataTable.ContainsKey(key))
          this.dataTable[key] = value;
   }
}

もちろん、dataTableコード内の別の場所にプライベート フィールドをスローまたは埋めるいくつかの例外を追加できます。

于 2012-06-22T09:56:50.810 に答える