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

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

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

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

SetValue

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

GetSetMethod(true)

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

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

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

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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