Hướng dẫn gán dữ liệu tự động cho các thuộc tính của class trong C#

Class là gì?

Trong lập trình hướng đối tượng, lớp (class) là một kiểu dữ liệu tham chiếu nó định nghĩa một tập hợp các biến (trường dữ liệu, thuộc tính) và phương thức (gọi chúng là các member – thành viên lớp).

Từ lớp đó sinh ra các đối tượng (object), các đối tượng này còn gọi là bản triển khai của lớp (instance of a class), mỗi đối tượng có giá trị dữ liệu cụ thể (lưu trong thành viên biến, thuộc tính). Các phương thức (method) – định nghĩa ra các ứng xử của đối tượng – dựa theo dữ liệu của chúng.

Sau đây là ví dụ cho 1 Class có tên là Students được viết bằng C# được viết như sau:

class Students    {        public string ID;        public string Name;public int Age;        public void Info()        {return string.Format("{0} - {1}", ID,Name);        }    }

 Trong lập trình căn bản thì chúng ta thường hay gán các giá trị cho các thuộc tính bằng cách gán trực tiếp và lần lượt cho các thuộc tính của Class. Nhưng khi chúng ta đi sâu vào lập trình phức tạp với những Class có đến hàng chục thậm chí hàng trăm thuộc tính thì không thể gán như vậy được vì rất phức tạp và rất mất thời gian và cũng dễ gây thiếu sót cũng như trùng lặp.

Sau đây Soft Việt xin hướng dẫn các bước để gán dữ liệu tự động cho các thuộc tính của một Class như sau:

Với class Students như ví dụ mẫu bên trên thì đoạn code như sau:

public void SetValue(DataTable dt){List<Students> students=new List<Students>();foreach (DataRow dr in dt.Rows){Students student = new Students();foreach (PropertyInfo objProperty in student.GetType().GetProperties()){if (dt.Columns.Contains(objProperty.Name) && objProperty.GetType()== dr[objProperty.Name].GetType()){objProperty.SetValue(student, dr[objProperty.Name], null);}}students.Add(student);}}

Hy vọng đoạn code mẫu trên sẽ giúp cho các bạn có thể áp dụng vào kỹ thuật lập trình để đỡ mất thời gian trong công việc hằng ngày.

Tiện đây Soft Việt xin giới thiệu danh sách các phần mềm bên dưới:

Danh sách phần mềm & dịch vụ của Soft Việt:

1. Phần mềm SEO TOP Google & Tool tăng Traffic, View
2. Phần mềm Auto SEO Shopee
3. Phần mềm Email Marketing
4. Thiết kế Website theo yêu cầu
5. Thiết kế Landing Page theo yêu cầu
Và nhiều phần mềm khác tại đây: Phần mềm Soft Việt

Tác giả: Soft Việt

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *