.NET 4.x Получить значения переменных в классе зная их имена - C#

Узнай цену своей работы

Формулировка задачи:

Для удобной отладки внутри скомпилированного приложения я использую динамическое компилирование кода, в одном из методов хотел получить значения всех переменных и констант в классе.
Листинг программы
  1. Type BaseType = typeof(BotBase);
  2. var BaseMemberInfo = BaseType.GetMembers();
  3. BotFunc.Addlog(string.Format("Класс {0} содержит: ", BaseType));
  4. for (int index = 0; index < BaseMemberInfo.Length; index++){
  5. MemberInfo t = BaseMemberInfo[index];
  6. BotFunc.Addlog(string.Format("[{0}] {1}", index , t.Name));}
Так получаю все имена переменных и методов класса Скриншот вывода:

Решение задачи: «.NET 4.x Получить значения переменных в классе зная их имена»

textual
Листинг программы
  1. Type BaseType = typeof(BotBase);
  2. FieldInfo myf;
  3. var BaseMemberInfo = BaseType.GetMembers();
  4. BotFunc.Addlog(string.Format("Класс {0} содержит: ", BaseType));
  5. string name = string.Empty;
  6. for (int index = 0; index < BaseMemberInfo.Length; index++){
  7. try{
  8. MemberInfo t = BaseMemberInfo[index];
  9. name = t.DeclaringType + " " + t.MetadataToken + " " + t.ReflectedType + " " + t.Module;
  10. myf = typeof(BotBase).GetField(t.Name);
  11. string value = myf.GetValue(null).ToString();
  12. BotFunc.Addlog(string.Format("[{0}] {1} = {2}", index, t.Name, value));}
  13. catch (Exception ex){
  14. MessageBox.Show(ex.Message + Environment.NewLine + name);}}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы