Usage:
// This code will return "MyProperty".
ObjectHelper.GetMemberName(() => someEntity.MyProperty);
using System;
using System.Linq.Expressions;
///
/// Extensions to object class
///
public static class ObjectHelper
{
///
/// Gets the name og the property og class using Expression trees
///
///
/// The expression to get name for
///
///
/// Type of the object
///
///
/// A string with the name, or an exception if it isn't a member expression
///
///
///
private static string GetMemberName(Expression> e)
{
var member = e.Body as MemberExpression;
// If the method gets a lambda expression
// that is not a member access,
// for example, () => x + y, an exception is thrown.
if (member == null)
{
throw new ArgumentException(
"'" + e +
"': is not a valid expression for this method");
}
return member.Member.Name;
}
}
0 kommentarer:
Post a Comment