[英]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.