Best way to evaluate string conditions like “User.Name.Length>0” as true or false?-Collection of common programming errors

What is the best way to evaluate at runtime conditional expressions which are stored as strings.

I am using MVC3, .NET4, C#4.

So assume the solution was a method called “Eval” then:

if eval("User.Name.Length>0")
{return true;}

should behave in the same way as:

if (User.Name.Length>0)
{return true;}

So I need to also access any inscope .NET types as part of this solution.

So what would be a solution for “Eval”?

Thanks.

P.S I had posted a seperate question on this focusing on Dynamic LINQ as the solution. However I now think my solution is more simple, hence this question.

EDIT. Do not read too much into the “User”. It could be any object. I am interested in how to evaluate string expressions at runtime as if they had been written explicitely at compile time. Another example might be:

if eval("mycat.coatcolour=='ginger'")
{return true;}