[英]Generic custom method to convert one object type to another in c#
我正在尝试实现一种通用方法,将一个对象转换为 C# 中的另一个对象。
这是我试过的一些代码
public interface IDTOMapper<TSource, TDestination>
{
TDestination Convert(TSource source_object);
}
public class DtoMapper<TSource, TDestination> : IDTOMapper<TSource, TDestination>
{
public TDestination Convert(TSource source_object)
{
// How to write the code to convert one class object to another
}
}
我在 convert 方法中使用的代码有很多错误。谁能告诉我如何使用任何类类型对象来实现。 我发现的一些示例具有特定的类对象转换。
当我谷歌我发现有auto-mapper library我不想使用auto-mapper library 。 只想写自定义泛型方法
部分参考
https://www.codeproject.com/Tips/781202/Csharp-Custom-Mapper
您说您不想使用自动映射器,但是您尝试编写的内容是相同的。 您只需重新发明轮子并编写自己的自动映射器。
我强烈建议使用像 AutoMapper 这样的现有库。 它会更快,错误更少。
如果不是这样,那么我自己会避免尝试自动执行此任务。 对于每个 ViewModel 类,添加一个方法CopyFromBusiness
并自己手动编写复制代码。 是的,这是相当重复的,但是编写自己的自动映射器的工作量几乎一样多,结果总是比现有的库更差。 手动编写的CopyFromBusiness
方法将是最快的选择(在运行时),将来代码将更容易维护,因为不会有任何隐藏的魔法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.