使用反射获取嵌套属性值
我有以下场景:
class A
{
string Foo;
}
Class B
{
A PropertyA;
}
Class C
{
B PropertyB;
}
如果我从对象 C 开始,是否可以使用 .NET 反射来获取 A.Foo 的值?我遇到的问题是这样的: 我通过 PropertyInfo 对象到达 A。但是,他们没有存储实例信息。因此,我无法执行 GetProperty("Foo").GetValue(....) 因为我只传入了 C 类型的对象。
I have the following scenario:
class A
{
string Foo;
}
Class B
{
A PropertyA;
}
Class C
{
B PropertyB;
}
Is it possible using .NET reflection to get the value of A.Foo if I start with object C? The problem I am running into is this:
I get to A through PropertyInfo objects. However, they don't have the instance information stored with them. Therefore, I can't do GetProperty("Foo").GetValue(....) since I only have object of type C passed in.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须获取每个属性返回的对象,然后在该实例上使用相同的反射过程来获取下一个“级别”深度。
例如:
You have to get the object returned by each property, then use the same reflection procedure on that instance to get the next "level" deep.
For example: