Uzyskaj typ właściwości przez MemberExpression

Zadam podobne pytanietutaj , załóżmy, że tego typu:

<code> public class Product {

public string Name { get; set; }
public string Title { get; set; }
public string Category { get; set; }
public bool IsAllowed { get; set; }

}
</code>

i ten, który używaMemberExpression :

<code>public class HelperClass<T> {

    public static void Property<TProp>(Expression<Func<T, TProp>> expression) {

        var body = expression.Body as MemberExpression;

        if(body == null) throw new ArgumentException("'expression' should be a member expression");

        string propName = body.Member.Name;
        Type proptype = null;

    }

}
</code>

Używam tego w ten sposób:

<code>HelperClass<Product>.Property(p => p.IsAllowed);
</code>

wHelperClass Potrzebuję tylko nazwy właściwości (w tym przykładzieIsAllowed) i typ właściwości (w tym przykładzieBoolean) Więc mogę dostać nazwę nieruchomości, ale nie mogę uzyskać typu nieruchomości. Widzę typ właściwości podczas debugowania, jak pokazano na poniższym rysunku:

Jaka jest Twoja sugestia, aby uzyskać typ nieruchomości?

questionAnswers(1)

yourAnswerToTheQuestion