利用反射封裝一個通用方法ToDTO()將Model數據傳給DTO

1.實現目的:

  DTO(數據傳輸對象)封裝的數據面向表現層(UI),Model封裝的數據面向業務邏輯層(service),在業務邏輯層對每個對象都要用ToDTO()方法,代碼冗餘,考慮將ToDTO()方法進行封裝,將Model和DTO傳入實現自動屬性賦值。

2.運用技術點:

  封裝、反射操作屬性、泛型方法

3.實現代碼:

 public class ToDTO
    {
        public M ToDTOs<T,M>(T model,M dto)
        {
            Type typeModel = typeof(T);
            Type typeDTO = typeof(M);
            object DTO = Activator.CreateInstance(typeDTO);

            foreach (var prop in typeDTO.GetProperties())
            {
                object value = typeModel.GetProperty(prop.Name).GetValue(model);
                prop.SetValue(DTO, value);
            }
            return dto;
        }
    }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章