我有一个带有私有设置器的公共属性的嵌套子类。在父类中,我可以使用 Automapper 映射到子类,并且正在设置私有 setter 的值。我读到的所有内容都指向 Automapper 不支持这一点,并且需要子类中的自定义构造函数来填充私有设置器。
当前版本是否使用反射或其他东西来映射私有设置器?设置器绝对是私有的,因为在父类中我无法设置 Child.Property 但在同一个地方 Mapper.Map 能够设置属性。
我有一个带有私有设置器的公共属性的嵌套子类。在父类中,我可以使用 Automapper 映射到子类,并且正在设置私有 setter 的值。我读到的所有内容都指向 Automapper 不支持这一点,并且需要子类中的自定义构造函数来填充私有设置器。
当前版本是否使用反射或其他东西来映射私有设置器?设置器绝对是私有的,因为在父类中我无法设置 Child.Property 但在同一个地方 Mapper.Map 能够设置属性。
Automapper广泛使用反射,没有理由不使用它来设置私有 setter。
实际上,直到您提出问题,我才知道它有效。
如果我们查看单元测试,我们会发现私有 setter 是自动设置的。请看PrivateSetterInParentWorks
。
注意,Silverlight 不支持通过反射设置私有字段。因此,该功能不适用于它。