由于某些原因,我需要创建一个PropertyInfo
与某些类的属性相对应的实例字典(我们称之为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;