Задать вопрос
@NooBick

C#, что не так?

5f7cc73a83a81426822448.png
Что не так? Всё работает, но как добавляю [] сразу ошибка.
5f7cc76e536c5612001536.png

Как правильно сделать?
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • Академия Эдюсон
    Разработчик игр на Unity + ИИ
    6 месяцев
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Решения вопроса 1
GavriKos
@GavriKos
Микропетпроджект - https://voidtrack.space/
А что у вас в o хранится? Оно индексируемое? Если индексируемое - то задавайте этот тип в фориче вместо object.
И да - переделайте вопрос так, чтобы там были не скрины!
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
У вас в фориче указать тип елемента Object, а у Object нет индексатора this[string] (ваш кэп).
Как решить:
a. Указать корректный тип (хз какой, тк из скрина не ясно - киньте полный код на gist или pastebin, или прямо тут)
b. Через рефлексию а ля
var type = listen.GetType();
var prop = type.GetProperty("currency");
var value = prop.GetValue(listen);
но я не уверен, что тут именно это надо.
d. Написать var, вместо Object
e. Написать dynamic и вызывать listen.currency или listen["currency"]
f. Написать полноценный класс?

PS:
Зачем делать Task.Delay(100).GetAwaiter().GetResult();, если можно Thread.Sleep(100); или await Task.Delay(100);?
Ответ написан
Комментировать
@cicatrix
было бы большой ошибкой думать
Приведите listen к родному типу, object индексирование не поддерживает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы