Question

Is there any way I can get the PropertyInfo for a property from its getter? Like this:

public object Foo
{
    get
    {
        PropertyInfo propertyInfoForFoo = xxx;
        ...
    }
}

I want to avoid having to hard code the name of the property as a string, as that's tricky to maintain.

I'm using .NET 2.0, so I'm hoping for a linq-less solution.

Was it helpful?

Solution

MethodBase.GetCurrentMethod() will return the MethodInfo object for get_YourPropertyName.

PropertyInfo property = GetType()
                            .GetProperty(MethodBase
                                             .GetCurrentMethod()
                                             .Name
                                             .Substring("get_".Length)
                                        );

OTHER TIPS

Um... So how were you planning on being "given" the getter?

The only way I see is by something like MyGetProperyInfo(x => x.Foo);

which can be done, although it requires a lambda & an Expression<> (neither of which is available in C# v2)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top