MultiSpeak API: как поместить значения базы данных в массив - PullRequest
0 голосов
/ 24 января 2019

Я работаю над MultiSpeak API - я не знаком с этим. Функция выглядит следующим образом:

 public meter[] GetMeterByAccountNumber(string accountNumber) {
 meter myMeter = new meter();//IS this declaration right?
//some query work and next is sql data reader
 int i = 0;
 while (rdr.Read())
    {
      myMeter[i].deviceClass = rdr["deviceClass"].ToString();//error: Cannot apply indexing with [] to type 'meter'
      i++;
    }
  return myMeter[]; //generates ERROR: Value expected.
}

Я не знаю, что это за тип возврата 'GetMeterByAccountNumber', но он ожидает возврата массива meter[].

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Вот что у меня работает, основываясь на ответе @Richard Friend. Спасибо, Ричард!

public meter[] GetMetersByAccountNumber(string accountNumber)
{
     meter[] final_return;
      var items = new List<meter>();  
       while (rdr.Read())
        { 
            var meter = new meter();                
            meter.deviceClass = rdr["deviceClass"].ToString();
            items.Add(meter);
        }
        final_return = items.ToArray();
        return final_return;
}
0 голосов
/ 24 января 2019

GetMeterByAccountNumber это не тип возвращаемого значения, это имя функции.

Вы можете сделать что-то подобное, однако я бы назвал это GetMetersByAccountNumber , так как он возвращает массив / IEnumerable

Также я не уверен, что deviceClass имеет отношение к номеру счета ..

using System.Linq;
using System.Collections.Generic

 public IEnumerable<meter> GetMetersByAccountNumber(string accountNumber) {
    var items = new List<meter>();
    //some query work and next is sql data reader

    while (rdr.Read())
    {
      var deviceClass = rdr["deviceClass"].ToString();
      var meter = new meter();
      //Im guessing meter has some properties to set ?
      meter.deviceClass = deviceClass;
      items.Add(meter);
    }
    return items.AsReadOnly();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...