何らかの理由で、PropertyInfo
いくつかのクラスのプロパティに対応するインスタンスの Dictionary を作成する必要があります (それを と呼びましょうEntityClass
)。
わかりました、使用できますtypeof(EntityClass).GetProperties()
。
しかし、いくつかの特定のプロパティ (コンパイル時に既知) の値を決定する必要もあります。通常、次のいずれかを実行できます。
EntityInstance.PropertyX = Value;
typeof(EntityClass).GetProperty("PropertyX").SetValue(EntityInstance, Value, null);
ディクショナリを埋めるにはPropertyInfo
、通常どおり値を設定するだけでなく、インスタンスを使用する必要があります。しかし、文字列名でプロパティを取得するのは快適ではありません。一部の EntityClass が変更されると、コンパイル エラーではなく多くの例外が発生します。だから、私が尋ねるのは:
文字列名を渡さずに既知のプロパティの PropertyInfo を取得する方法は? デリゲートのようなものがあるといいのですが:
SomeDelegateType MyDelegate = EntityInstance.MethodX;
理想的には:
SomePropertyDelegate MyPropertyDelegate = EntityInstance.PropertyX;