我正在编写一个类似于以下内容的路由功能:
public IHttpActionResult SomeRoute([FromBody] PostedData postedData)
FromBody
属性会将发布到路由中的数据转换为指定的类型,并将无法以这种方式强制转换的所有属性设置为null。
我想做的是检查发布的数据上是否有空属性(在上面的示例中,postedData
)。据我所知,我可以手动检查每个类型,但是我希望能够以更通用的方式实现这种检查,我想知道是否可能。
答案 0 :(得分:1)
您可以结合使用反射和System.Linq.Expressions
来生成一个带PostedData
的lambda,并检查每个属性是否为null。正确处理起来有些棘手,但与仅使用反射来查询属性相比,它将为您提供最佳性能。