Obter tipo de propriedade por MemberExpression
Eu faço uma pergunta semelhanteAqui , assuma este tipo:
<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>
e este que usaMemberExpression
:
<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>
Eu uso assim:
<code>HelperClass<Product>.Property(p => p.IsAllowed); </code>
emHelperClass
Eu só preciso do nome da propriedade (neste exemploIsAllowed
) e tipo de propriedade (neste exemploBoolean
) Assim, posso obter o nome da propriedade, mas não consigo obter o tipo de propriedade. Eu vejo o tipo de propriedade na depuração da seguinte imagem mostrada:
Então, qual é a sua sugestão para obter o tipo de propriedade?