Как пробиться через рефлексию к закрытым методам get, set для авто-свойства? - C#

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

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

Добрый день. Как пробиться через рефлексию к закрытым методам get, set для авто-свойства? Если стучусь к такому свойству
Листинг программы
  1. public int MyInt{get; set}
то задать его значение получается. Для такого свойства
Листинг программы
  1. public int MyInt{get; private set}
задать его значение через рефлексию уже не получается.

SetValue

вызывает исключение,

GetSetMethod(true)

возвращает null. Как изменить значение такого свойства? Может есть какой-то хук не через рефлексию, или через рефлексию левых автосгенерированных полей?

Решение задачи: «Как пробиться через рефлексию к закрытым методам get, set для авто-свойства?»

textual
Листинг программы
  1. class A {
  2.      public int S { get; private set; }
  3. }
  4. class B : A { }
  5.  
  6. var b1 = typeof(A).GetProperty("S").CanWrite;//true
  7. var b2 = typeof(B).GetProperty("S").CanWrite;//false

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


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

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

11   голосов , оценка 4.273 из 5

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

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

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