Come modificato in .NET Reflection set private property, è possibile impostare una proprietà con un setter privato. Ma quando la proprietà è definita in una classe base, viene lanciata System.ArgumentException: "Metodo set di proprietà non trovato".Metodo set di proprietà non trovato in un tipo derivato
Un esempio può essere:
using System;
class Test
{
public DateTime ModifiedOn { get; private set;}
}
class Derived : Test
{
}
static class Program
{
static void Main()
{
Derived p = new Derived();
typeof(Derived).GetProperty("ModifiedOn").SetValue(
p, DateTime.Today, null);
Console.WriteLine(p.ModifiedOn);
}
}
Qualcuno sa un modo per affrontare questa situazione?
Modifica: L'esempio fornito è una semplice illustrazione del problema. Nello scenario del mondo reale, non so se la proprietà è definita in una classe base, o definita nella base della classe base.
Ciò funzionerebbe sicuramente, se il tipo di base era noto. Si prega di consultare la mia modifica. – tafa