Ejemplo n.º 1
0
        public static IList <PropertyInfo> GetPropertyAccessList([NotNull] this LambdaExpression propertyAccessExpression)
        {
            Contract.Assert(propertyAccessExpression.Parameters.Count == 1);

            var propertyPaths
                = MatchPropertyAccessList(propertyAccessExpression, (p, e) => e.MatchSimplePropertyAccess(p));

            if (propertyPaths == null)
            {
                throw new ArgumentException(
                          Strings.FormatInvalidPropertiesExpression(propertyAccessExpression),
                          "propertyAccessExpression");
            }

            return(propertyPaths);
        }