.NET Reflection set private propertyで解説したように、プライベートセッターでプロパティを設定できます。しかし、プロパティが基本クラスで定義されると、System.ArgumentExceptionがスローされます。 "プロパティセットメソッドが見つかりません"。派生型でプロパティセットメソッドが見つかりません
例が使用できます
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);
}
}
誰もがこのような状況に対処する方法を知っていますか?
編集:所与の例では、問題の簡単な説明図です。実際のシナリオでは、プロパティが基本クラスで定義されているか、基本クラスの基底で定義されているかどうかはわかりません。
基本タイプがわかっていれば、これは間違いなく機能します。私の編集を見てください。 – tafa