Note - Tips - Trick - .Net

Lưu các thủ thuật, code mẫu, cách dùng về .Net

Copy giá trị thuộc tính của A cho B Copy giá trị thuộc tính của A cho B Copy giá trị thuộc tính của A cho B Copy giá trị thuộc tính của A cho B Copy giá trị thuộc tính của A cho B 5/5 (13 reviews)

Copy giá trị thuộc tính của A cho B

Đã đăng 2018-07-10 19:05:49 bởi K9
0 bình luận 2568 lượt xem
Copy giá trị thuộc tính của A cho B 5 /5 stars (2 reviews)
 

Sẽ có bạn từng gặp vấn đề. Làm sao copy giá trị các thuộc tính của A cho B khi mà không phải viết hàm copy từng thuộc tính, clone hay gán giá trị bằng. Class dưới đây sẽ giúp bạn làm việc đó. Nếu hay và bổ ích. Nó giúp bạn tiết kiệm thời gian cũng như chi phí thì đừng ngần ngại donate cho Kteam để đội ngũ Kteam tiếp tục nghiên cứu và phát triển thêm các tính năng giúp mọi người nhé.

class PropertyCopier.cs

public static class PropertyCopier<TParent, TChild> where TParent : class
                                            where TChild : class
    {
        public static void Copy(TParent parent, TChild child)
        {
            var parentProperties = parent.GetType().GetProperties();
            var childProperties = child.GetType().GetProperties();

            foreach (var parentProperty in parentProperties)
            {
                foreach (var childProperty in childProperties)
                {
                    if (parentProperty.Name == childProperty.Name && parentProperty.PropertyType == childProperty.PropertyType)
                    {
                        childProperty.SetValue(child, parentProperty.GetValue(parent));
                        break;
                    }
                }
            }
        }
    }

 

 

Cách dùng

var select = new NhaCungCap();
select.Email = "a@gmail.com";
select.Address = "11/1B Khe Sanh Đà Lạt";


NhaCungCap mainData = new NhaCungCap();
PropertyCopier<NhaCungCap, NhaCungCap>.Copy(select,mainData);
             
Console.WriteLine(mainData.Address);

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education