如何最好地执行从超类到子类的成员分配?

时间:2014-04-09 15:24:10

标签: c#

我有一个AMX_Observation课程。 (它是从dbml文件自动生成的,表示远程数据库表条目。)我想继承该类以添加一些字段。但是这个类有18个成员,而且它只是我需要做的十几个类中的一个,因此通过手动复制成员逐个构建我的子类对维护POV来说并不是特别有吸引力。

我知道有Object.MemberwiseClone,但它只从一个对象复制到另一个相同的类。我没有找到任何可以将超类的成员复制到子类的东西。

FWIW,只需要浅层复制。

1 个答案:

答案 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);