.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);}}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д