一个人如何实现以下目标:
Type type = this.methodThatGivesDynamicType()
typeof(type) dynamicDTO = _mapper.Map(myObj, typeof(MyObj), type);
或者在事实发生后将dynamic
用于dynamicDTO
并将其转换为type
?最终结果是我有一个Type实例,我需要将一个对象强制转换为该类型。具体来说,我将AutoMapper与该Map方法结合使用,该方法使用动态选择的Type。
从技术上讲,您可以在此处使用dynamic
并仅使用鸭子输入。这并不可怕,但也不是最好的,我会对此保持警惕。我宁愿有个更好的解决方案。
特定用途
键入补丁
Type = MagicService.getDynamicDTOType()
dynamic patchDoc = _mapper.Map(patch, typeof(JsonPatchDocument<User>), patchType);
User updateUser = await UserService.UpdateUser(user, patchDoc);
因此,映射器提供了一种动态映射到动态Type
的方法,但是如果我需要将其传递给任何我无法传递的地方,因为没有办法将其传递为特定类型。方法签名与dynamic
不匹配。