Как пробиться через рефлексию к закрытым методам 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

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


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

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

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