Lập trình C#: Từ khóa partial – kiểu từng phần (partial type)

Trong thời gian này mình đang ôn tập và tìm hiểu lại các kiến thức về lập trình C# nên sẽ lần lượt chia sẻ luôn cùng mọi người, đồng thời lưu trữ kiến thức lại trên blog để tiện sau này xem lại nếu cần. Các bài chia sẻ sẽ không theo một lịch trình cụ thể nào nhé nên chắc chắn không phù hợp với các bạn mới bắt đầu học lập trình, các bạn mới thì chỉ đọc tham khảo thôi, mong các bạn thông cảm.

Từ khóa partial (partial type) trong lập trình C# là kiểu từng phần, nghĩa là với từ khóa này bạn sẽ viết mã của 1 class ở nhiều nơi, nhiều lớp khác nhau trong cùng 1 dự án.

[polyxgo_history_prices_search type=”” keywords=”lập trình c#” header_text=”” placeholder=”lập trình c#” notice=”” cols=”4″ how_much=”4″]

Ví dụ cụ thể trong cùng 1 không gian tên namspace  TestPartialType bạn phát triển 1 lớp ClassXYZ1 (class) nào đó và viết mã ở nhiều file .cs khác nhau tùy từng chức năng của nó. Việc phân bố class ClassXYZ1 này trên nhiều file .cs khác nhau thì bạn có thể gọi nó là Partial type.

Mình tại file ClassXYZ1_part1.cs và khai báo như sau.

namespace TestPartialType
{
    public partial class ClassXYZ1
    {
        public string XTitle
        {
            set; get; }

        public int XIndex { set; get; }
    }
}

Và bạn tạo file ClassXYZ1_part2.cs, khai báo như sau:

namespace TestPartialType
{
    public partial class ClassXYZ1
    {
        public string Display()
        {
            return XIndex + ": " + XTitle;
        }
    }
}

Hai class trên như bạn thấy cùng tên là ClassXYZ1 và cùng không gian tên namespace TestPartialType, do đó khi trình biên dịch thực hiện nó sẽ hiểu các thành phần khai báo của 2 file này là 1 ClassXYZ1 như sau:

namespace TestPartialType
{
public class ClassXYZ1
{
   public string XTitle
   {
   set; get; }

public int XIndex { set; get; }
        public string XDisplay()
        {
            return XIndex + ": " + XTitle;
        }
    }
}

Để kiểm tra lớp hoạt động thể nào bạn biên dịch chương trình với mã sử dụng như sau:

ClassXYZ1 cls1=new ClassXYZ1();
cls1.XIndex = 88;
cls1.XTitle = "Partial type";
Console.WriteLine(cls1.XDisplay());

Như bạn thấy kết quả hiển thị sẽ là 88: Partial type. Vậy các khai báo của lớp ClassXYZ1 ở 2 tập tin khác nhau đã được gộp lại làm 1. Việc chứa từ khóa Partial là bắt buộc trong việc sử dụng cách viết mã này. Nếu không có từ khóa này sau trước tên lớp (class) thì trình biệt dịch sẽ báo lỗi Conflict type (lỗi 2 lớp cùng tên).

Partial type sử dụng kết hợp với interface, class, struct và các khai báo partial phải cùng assemply.

Từ khóa partial type trong lập trình C#

Từ khóa partial type trong lập trình C#

P/s: Việc sử dụng Partial kết hợp với interface trong quá trình viết mã sẽ giúp cho các lập trình viên làm việc nhóm tốt hơn, phân bố cấu trúc dự án rõ ràng hơn cho việc bug, fix bug cũng như phát triển sau này.

Cảm ơn bạn đã quan tâm bài viết !

[polyxgo_history_prices_search keywords=”lập trình sách” header_text=”Tìm kiếm sản phẩm  dịch vụ” placeholder=”lập trình, sách lập trình, tài liệu lập trình” notice=”Nhập từ khóa sản phẩm, dịch vụ bạn muốn tìm kiếm”]

Related Posts

Add Comment

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.