.NET 4.x Получить значения переменных в классе зная их имена - C#
Формулировка задачи:
Для удобной отладки внутри скомпилированного приложения я использую динамическое компилирование кода,
в одном из методов хотел получить значения всех переменных и констант в классе.
Так получаю все имена переменных и методов класса
Скриншот вывода:
Type BaseType = typeof(BotBase); var BaseMemberInfo = BaseType.GetMembers(); BotFunc.Addlog(string.Format("Класс {0} содержит: ", BaseType)); for (int index = 0; index < BaseMemberInfo.Length; index++){ MemberInfo t = BaseMemberInfo[index]; BotFunc.Addlog(string.Format("[{0}] {1}", index , t.Name));}
Решение задачи: «.NET 4.x Получить значения переменных в классе зная их имена»
textual
Листинг программы
Type BaseType = typeof(BotBase); FieldInfo myf; var BaseMemberInfo = BaseType.GetMembers(); BotFunc.Addlog(string.Format("Класс {0} содержит: ", BaseType)); string name = string.Empty; for (int index = 0; index < BaseMemberInfo.Length; index++){ try{ MemberInfo t = BaseMemberInfo[index]; name = t.DeclaringType + " " + t.MetadataToken + " " + t.ReflectedType + " " + t.Module; myf = typeof(BotBase).GetField(t.Name); string value = myf.GetValue(null).ToString(); BotFunc.Addlog(string.Format("[{0}] {1} = {2}", index, t.Name, value));} catch (Exception ex){ MessageBox.Show(ex.Message + Environment.NewLine + name);}}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д