从 object[] 列表中提取值

Extracting value from a list of object[]

我正在使用 Firebird 数据库,以下代码提取了一些数据:

FbDataReader reader = readCommand.ExecuteReader();

var rows = new List<object>();
while (reader.Read())
      {
       var columns = new object[reader.FieldCount];
       reader.GetValues(columns);
       rows.Add(columns);
      }

现在我已将数据读取到“行”,它看起来像这样:

"ЛР КЛ1 220кВ" 是我需要提取的字符串值。 下面的代码应该这样做:

var nameOfProperty = "property_name";
var propertyInfo = rows[1].GetType().GetProperty(nameOfProperty);
var value = propertyInfo.GetValue(rows[1], null);

我在最后一行得到 System.NullReferenceException,因为“property_name”必须包含真实的 属性 名称。如何获得正确的 属性 名称?

你有列表中的列表。

尝试:

...
var value = propertyInfo.GetValue(rows[1][0], null);
...