Revision: 16136
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 27, 2009 14:47 by JanVanRyswyck
Initial Code
public static class ReflectionHelper
{
private sealed class AssemblyMarker {}
public static PropertyInfo GetProperty<T>(Expression<Func<T, Object>> expression)
{
Check.Argument(expression, "expression").IsNotNull();
MemberExpression memberExpression;
if(ExpressionType.Convert == expression.Body.NodeType)
{
var body = (UnaryExpression)expression.Body;
memberExpression = body.Operand as MemberExpression;
}
else
{
memberExpression = expression.Body as MemberExpression;
}
if(null == memberExpression)
{
var message = ResourceLoader<AssemblyMarker>.GetString("InvalidMemberExpression");
throw new InvalidOperationException(message);
}
return memberExpression.Member as PropertyInfo;
}
}
Initial URL
Initial Description
Initial Title
ReflectionHelper
Initial Tags
Initial Language
C#