我有一个AMX_Observation课程。 (它是从dbml文件自动生成的,表示远程数据库表条目。)我想继承该类以添加一些字段。但是这个类有18个成员,而且它只是我需要做的十几个类中的一个,因此通过手动复制成员逐个构建我的子类对维护POV来说并不是特别有吸引力。
我知道有Object.MemberwiseClone,但它只从一个对象复制到另一个相同的类。我没有找到任何可以将超类的成员复制到子类的东西。
FWIW,只需要浅层复制。
答案 0 :(得分:1)
考虑使用AutoMapper:http://automapper.org/
如果您使用的是Visual Studio,也可以通过NuGet使用。
如果您的子类AMX_ObservationDto
继承自AMX_Observation
,则可以复制以下属性:
首先,制作一个映射器:
Mapper.CreateMap<AMX_Observation, AMX_ObservationDto>();
现在复制:
AMX_ObservationDto dto = Mapper.Map<AMX_ObservationDto>(amx_observationInstance);