using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HandBrake.ApplicationServices.Utilities { using System.Linq.Expressions; using System.Reflection; public static class ExtensionMethods { /// /// Converts an expression into a . /// /// The expression to convert. /// The member info. public static MemberInfo GetMemberInfo(this Expression expression) { var lambda = (LambdaExpression)expression; MemberExpression memberExpression; if (lambda.Body is UnaryExpression) { var unaryExpression = (UnaryExpression)lambda.Body; memberExpression = (MemberExpression)unaryExpression.Operand; } else memberExpression = (MemberExpression)lambda.Body; return memberExpression.Member; } } }