andrew4582

ExpressionsUtil

Sep 16th, 2012
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.86 KB | None | 0 0
  1. using System;
  2. using System.ComponentModel;
  3. using System.Linq.Expressions;
  4.  
  5. namespace Core
  6. {
  7.     public static class ExpressionsUtil
  8.     {
  9.         /// <summary>
  10.         /// Gets the string name for the property
  11.         /// </summary>
  12.         public static string GetPropertyName<T>(Expression<Func<T>> expression)
  13.         {
  14.             if (expression.NodeType != ExpressionType.Lambda)
  15.             {
  16.                 throw new ArgumentException("Value must be a lamda expression", "expression");
  17.             }
  18.  
  19.             if (!(expression.Body is MemberExpression))
  20.             {
  21.                 throw new ArgumentException("The body of the expression must be a memberref", "expression");
  22.             }
  23.  
  24.             MemberExpression memberExpression = (MemberExpression)expression.Body;
  25.             return memberExpression.Member.Name;
  26.         }
  27.     }
  28.  
  29. }
Advertisement
Add Comment
Please, Sign In to add comment