public class Foo
{
private Bar FooBar {get;set;}
private class Bar
{
private string Str {get;set;}
public Bar() {Str = "some value";}
}
}
If I've got something like the above and I have a reference to Foo, how can I use reflection to get the value Str out Foo's FooBar? I know there's no actual reason to ever do something like this (or very very few ways), but I figure there has to be a way to do it and I can't figure out how to accomplish it.
edited because I asked the wrong question in the body that differs from the correct question in the title
You can use the
GetProperty
method along with theNonPublic
andInstance
binding flags.Assuming you have an instance of
Foo
,f
:Update:
If you want to access the
Str
property, just do the same thing on thebar
object that's retrieved: