NEWS

[C#] Hướng dẫn Copy With All Property in Class Object

[C#] Hướng dẫn Copy With All Property in  Class Object
Đăng bởi: Thảo Meo - Lượt xem: 2577 22:02:09, 13/05/2022DATABASE   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách copy with các thuộc tính của 1 class Object sang một Object mới trên C#, Winform.

[C#] Hướng dẫn Copy With All Property in Class Object

Mình ví dụ: các bạn có 1 class Person bao gồm 4 thuộc tính 

  1. Id
  2. Name
  3. Address
  4. Telephone

Và các bạn muốn copy đối tượng class này vào một object Dynamic mới để chúng ta bổ sung thêm các thuộc tính khác vào như: status, BirthofDay...

object_class_copy_with_csharp

Full source code C#:

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            var person = new Person() { Id = 1, Name = "Thảo meo", Address = "Vũng Tàu", Telephone="0900000009" };

            var dataJson = JsonConvert.SerializeObject(person, Formatting.Indented);

            
            Console.WriteLine(dataJson);

            dynamic personClone = CopyWithObjectModel(person);
            var listPerson = new List<Person>();
            listPerson.Add(new Person() { Id = 4, Name = "Cái Trí Minh" });
            listPerson.Add(new Person() { Id = 5, Name = "Nguyễn Đình Tuyên" });
            listPerson.Add(new Person() { Id = 6, Name = "Trịnh Quốc Khang" });
            personClone.Status = 1;        
            personClone.TrangThai = "Đẹp trai";           
            personClone.Result = listPerson;

            var data = JsonConvert.SerializeObject(personClone, Formatting.Indented);
            Console.WriteLine("---------------------------COPY WITH OBJECT---------------------------------------");
            Console.WriteLine(data);

            var personClone2 = CopyWithObjectModel(personClone);
            personClone2.Add = 1;
            personClone2.Update = 1;
            personClone2.Delete = 1;

            data = JsonConvert.SerializeObject(personClone2, Formatting.Indented);
            Console.WriteLine("---------------------------COPY WITH OBJECT CLONE 2---------------------------------------");
            Console.WriteLine(data);
            Console.ReadLine();
        }

        public static dynamic CopyWithObjectModel<T>(T modelCopyWith)
        {
            string json = JsonConvert.SerializeObject(modelCopyWith);
            dynamic dynamicObject = JsonConvert.DeserializeObject<ExpandoObject>(json);
            return dynamicObject;
        }

        public class Person
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Address { get; set; }
            public string Telephone { get; set; }
            public string Website { get; set; } = "https://laptrinhvb.net";
        }

      
    }
}

Thanks for watching!

THÔNG TIN TÁC GIẢ

[C#] Hướng dẫn Copy With All Property in  Class Object
Đăng bởi: Thảo Meo - Lượt xem: 2577 22:02:09, 13/05/2022DATABASE   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp