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 回答