c# - Getting model type from expression -


i'm trying use reflection model type. far able type of property. when tried use expression model type, i'm getting null reference property.

expression this,

model => model.property 

and in function,

//i'm passing model parameter memberexpression expbody = expression.body memberexpression; model.gettype().getproperty(expbody.member.name.tostring())); 

is possible this?

memberexpression expbody = expression.body memberexpression;     expbody.type.getproperty(expbody.member.name.tostring())); 

i tried this, not working.

if assume expression lambda expression parameter model, following produces behaviour expect:

expression<func<model, string>> expression = model => model.somestringproperty; type modeltype = expression.parameters[0].type; memberexpression expbody = expression.body memberexpression; propertyinfo p = modeltype.getproperty(expbody.member.name);  assert.notnull(p); 

note modeltype.getproperty(expbody.member.name) unnecessary. it's preferable extract member memberexpression in order avoid ambiguity:

propertyinfo p = (propertyinfo)expbody.member; 

Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -