/// <summary> /// Gets a PropertyInfo extracted from the provided expression that selects a property. /// </summary> /// <typeparam name="T">The type the property exists on.</typeparam> /// <typeparam name="V">The type of the property's value.</typeparam> /// <param name="expression">An expression that selects a property.</param> /// <returns>The PropertyInfo extracted from the expression.</returns> public static PropertyInfo GetPropertyInfo <T, V>(this Expression <Func <T, V> > expression) { return(MemberExpressionHelper.GetMemberInfo <T, V, PropertyInfo>(expression)); }
/// <summary> /// Gets a FieldInfo extracted from the provided expression that selects a field. /// </summary> /// <typeparam name="T">The type the field exists on.</typeparam> /// <typeparam name="V">The type of the field's value.</typeparam> /// <param name="expression">An expression that selects a field.</param> /// <returns>The FieldInfo extracted from the expression.</returns> public static FieldInfo GetFieldInfo <T, V>(this Expression <Func <T, V> > expression) { return(MemberExpressionHelper.GetMemberInfo <T, V, FieldInfo>(expression)); }