我不确定,我应该考虑不使用反射。 目前我正在努力解决以下问题:
两个类之间的映射是通过反射完成的(使用字典到属性)。
在一个类中,我们有dictionary<string, object>
,在另一个类中,我们有与字典键相同名称的属性。然后我起诉反思获得财产并设置它。
你知道,所有物体也都有昂贵的铸件。有时我必须做一个自定义演员,因为类型不同..
反射的唯一大优势是“简单”的映射,只需很少的行和更少的类。反射和正常的属性集方法都是可能的。
注意:我的问题更多来自设计,而不是“如何”解决问题。
如果你能给我一些建议,我将不胜感激。
答案 0 :(得分:1)
我的问题更多的是从设计的角度来看,而不是
how to
解决问题
要回答您的问题,通常您会使用Reflection来执行此类动态属性映射。然而,在实践中,反射可能很重。慢(因为你开始注意到)。正如你可能已经猜到的那样,这个问题很常见,并且已经有一些库可以帮助你完成所有繁重的工作,例如: AutoMapper
就将Dictionary
映射到对象而言,我从来没有使用过AutoMapper这样的东西因此我无法评论它是否会支持它(我猜它可能会这样,它很灵活)。如果您的Dictionary
只是自定义映射的桥梁,那么如果您切换到使用AutoMapper
,则可以完全摆脱这种情况。