Вывод массива из async task c#

161
07 сентября 2018, 04:30

Есть такой код:

public async Task<float[]> Get_Data()
{
    FirebaseResponse response = await client.GetTaskAsync("MyData");
    Data todo = response.ResultAs<Data>();
    float[] data = new float[3];
    data[0] = todo.PlayerPos_X;
    data[1] = todo.PlayerPos_Y;
    data[2] = todo.PlayerPos_Z;
    return data;
}

Он подключается к firebase и тащит из него 3 переменные, после чего они записываются в массив.

Пытаюсь вызвать этот метод:

tesT_firebase = new tesT_firebase();
tesT_firebase.init_firebase();
MessageBox.Show(tesT_firebase.Get_Data()[0]);

Выпадает с ошибкой:

Ошибка CS0021 Не удается применить индексирование через [] к выражению типа "Task"

Как мне получить этот массив?

Answer 1

Как мне получить этот массив?

С помощью await:

MessageBox.Show((await tesT_firebase.Get_Data())[0]);
READ ALSO
Обобщенные методы доступа свойств

Обобщенные методы доступа свойств

Вот что пишет Рихтер:

203
Преобразование Bitmap ресурса в ImageSource

Преобразование Bitmap ресурса в ImageSource

Имеется Bitmap ресурс PropertiesResources

235
Методы в потоках Net

Методы в потоках Net

Выполнится ли метод в том же потоке где была вызвана?

190
c# Время по оси x в chart

c# Время по оси x в chart

Мне нужно чтоб по оси x выводилось время в формате (часы:минуты:секнуды)

311