0

我不太确定,什么时候应该考虑不使用反射。目前,我在以下情况下苦苦挣扎:

两个类之间的映射是通过反射完成的(使用字典到属性)。在一个类中,我们有一个dictionary<string, object>,而在另一个类中,我们有与字典键同名的属性。然后我起诉反射来获取属性并设置它。

你看,所有的对象也有昂贵的铸件。有时我必须进行自定义转换,因为类型不同..

反射的唯一大优势是“简单”的映射,只有几行和更少的类。反射和正常的属性设置方法都是可能的。

注意:我的问题更多是从设计的角度来看,而不是“如何”解决问题。

如果您能给我一些建议,将不胜感激。

4

1 回答 1

1

我的问题更多是从设计的角度,而不是how to解决问题

要回答您的问题,通常您会使用反射来进行这样的动态属性映射。但是,在实践中,反射可能很重且很慢(正如您开始注意到的那样)。正如您可能已经猜到的那样,这个问题很常见,并且已经有一些库可以为您完成所有繁重的工作,例如AutoMapper

就将a 映射Dictionary到对象而言,我从未将 AutoMapper 用于类似的事情,因此我无法评论它是否支持它(我猜它可能可以,它非常灵活)。如果您Dictionary只是自定义映射的桥梁,那么如果您确实切换到使用,则AutoMapper可以完全摆脱它。

于 2012-09-17T13:53:43.023 回答