Как получить доступ к приватному полю используя рефлексию? (в одном классе) - C#
Формулировка задачи:
Хай. Есть такой класс
Я хочу получить доступ ко всем полям класса. Если поле помеченное как public, то все ок, а если private, то оно не находится, хотя метод и поле находятся в одном классе. Как получить доступ к приватным полям?
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);
}
}
}Решение задачи: «Как получить доступ к приватному полю используя рефлексию? (в одном классе)»
textual
Листинг программы
FieldInfo.GetType()