Top.Mail.Ru
Ответы

C#. Telegram.Bot Нужно обратиться к полям объекта класса Message через строку.

Хочу сделать примерно так.
Объект Message содержит в себе сообщение пользователя телеграмм боту.
У message есть свойства Document, Photo, Video и др. поля
Мне нужно вытащить ID полученного файла (FileId);
string typeMessage = message.Type.Tostring(); -- здесь мы получаем тип сообщения(Документ, фото и тд); Мне нужно получить из полученного файла FileId;
Message message= new Message();
Console.WriteLine(message.[typeMessage].FileId.ToString());

Если не очень ясно, что я хочу, то могу расписать потом.

По дате
По рейтингу
Аватар пользователя
Гений

Это можно сделать через Reflection.

123
 Type myType = typeof(Message);
PropertyInfo prop = myType.GetProperty(typeMessage);
string value = prop.GetValue(message) as string; 

А можно просто создать Dictionary со значениями.

Аватар пользователя
Ученик

в prop.GetValue(message) я получаю тип файла.
А как из него уже вытащить FileId?



Видео по теме