 <p>use expression :</p> <pre><code>static public class Metadata&lt;T&gt; { static public PropertyInfo Property&lt;TProperty&gt;(Expression&lt;Func&lt;T, TProperty&gt;&gt; property) { var expression = property.Body as MemberExpression; return expression.Member as PropertyInfo; } } var foo = Metadata&lt;Test&gt;.Property(test =&gt; test.Foo); </code></pre>