0

默认情况下,在 c# 中,所有类都继承该ToString()方法。我遇到的问题是,在工作中我们使用 将automapper一些域对象映射到前端。我一直看到与以下 sudo 非常相似的代码。

string:mapToclass.name <- mapFromClass

问题是,虽然我希望从我被发送一个带有自动到字符串方法的类型来映射一个字符串。正确的代码应该类似于以下内容。

string:mapToclass.name <- mapFromClass.name

不幸的是,由于方法的自动继承,这ToString两个都将编译和运行。虽然我可能会覆盖字符串以引发未实现的异常,但这不是一个好的设计并且会破坏 lsp,而且它仍然不会在编译时捕获错误,这会更理想。

任何想法我怎么可能执行此操作?

4

1 回答 1

0

If I'm reading this correctly then you can manually specify a mapping in AutoMapper for a case like this.

Mapper.CreateMap<MapFromClass, MapToClass>().ForMember(dest => dest.name, opt => opt.MapFrom(src => src.name));

This will explicitly map from a property on the MapFromClass to the MapToClass. More information on this question.

于 2013-09-05T20:19:27.730 回答