Как получить доступ к приватному полю используя рефлексию? (в одном классе) - C#

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

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

Хай. Есть такой класс
 class TestClass
    {
        [TestAttribute] 
        public int a = 1; //находится
        [TestAttribute] 
        private string b = "hello"; //не находится
 
        public void ShowMeUrSoul()
        {
            IEnumerable<MemberInfo> miInfos = from member in GetType().GetFields()
                                              where member.GetCustomAttribute<TestAttribute>() != null && member.GetCustomAttribute<TestAttribute>().Match(new TestAttribute())
                                              select member;
 
            foreach (var member in miInfos)
            {
                Console.WriteLine(member);
            }
        }
    }
Я хочу получить доступ ко всем полям класса. Если поле помеченное как public, то все ок, а если private, то оно не находится, хотя метод и поле находятся в одном классе. Как получить доступ к приватным полям?

Решение задачи: «Как получить доступ к приватному полю используя рефлексию? (в одном классе)»

textual
Листинг программы
FieldInfo.GetType()

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


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

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

14   голосов , оценка 4.071 из 5
Похожие ответы