私は受け取ったクラスのPropertyInfoに依存してリフレクション作業をしているライブラリを持っています(値を取得および設定するために)。動的オブジェクトのPropertyInfoを取得する
今、私は動的オブジェクトで作業することができますが、動的プロパティのPropertyInfoを取得する方法が見つかりません。私は代替案をチェックしましたが、私はどこでも変更する必要があるため、PropertyInfoを使って値を取得/設定します。
dynamic entity = new ExpandoObject();
entity.MyID = 1;
// - Always null
PropertyInfo p = entity.GetType().GetProperty("MyID");
// - Always null
PropertyInfo[] ps = entity.GetType().GetProperties();
// - These are called everywhere in the code
object value = p.GetValue(entity);
p.SetValue(entity, value);
それはちょうどそれが動的オブジェクトのGetValue()
とSetValue()
だ使用できるように何とかPropertyInfoを取得または作成することは可能ですか?
私はこれを再現できません。プロパティMyIDがエンティティに存在し、公開されていることは確かですか? –
@DavidL申し訳ありませんが、より良い例を掲載します。それは動的なので、プロパティが設定され、公開されている場合にのみプロパティが存在します。 – Danicco
実際のプロパティではない可能性があります。ランタイムバインディングを名前/値の辞書にリダイレクトすることによって、 'ExpandoObject' _simulate_プロパティのようなタイプもあります。 –