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

            var propertyInfo
                = propertyAccessExpression
                  .Parameters
                  .Single()
                  .MatchSimplePropertyAccess(propertyAccessExpression.Body);

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

            return(propertyInfo);
        }