如何最好地执行从超类到子类的成员赋值
本文关键字:子类 成员 赋值 超类 何最好 执行 | 更新日期: 2023-09-27 17:57:40
我有一个类AMX_Observation,它是石头写的。(它是从dbml文件中自动生成的,代表一个远程DB表条目。)我想用子类来添加一些字段。但是这个类有18个成员,而且它只是我需要在上面做这件事的十几个类中的一个,所以通过手动逐个复制成员来构建我的子类对于维护POV来说并不是特别有吸引力。
我知道有Object.MemberwiseClone,但它只是从一个对象复制到另一个相同类的对象。我还没有找到任何可以将超类的成员复制到子类的东西。
FWIW,只需要浅拷贝。
考虑使用AutoMapper:http://automapper.org/
如果您使用的是Visual Studio,它也可以通过NuGet获得。
如果您有一个继承自AMX_Observation
的子类AMX_ObservationDto
,您可以复制如下属性:
首先,制作一个映射器:
Mapper.CreateMap<AMX_Observation, AMX_ObservationDto>();
现在复制:
AMX_ObservationDto dto = Mapper.Map<AMX_ObservationDto>(amx_observationInstance);