Chỉ thị #region và #endregion cho phép gom nhóm mã nguồn thành các khối có thể thu gọn/mở rộng (collapse/expand) trong Visual Studio và các IDE hỗ trợ. Giúp tổ chức code lớn, ẩn chi tiết triển khai.
Cú pháp cơ bản
#region Tên_vùng
// Code ở đây
#endregion
Ví dụ sử dụng
using System;
#region Khai báo lớp
class MyClass { }
#endregion
class Demo
{
#region BIẾN THÀNH VIÊN
int a;
#endregion
static void Main()
{
#region THÂN HÀM MAIN
Console.WriteLine("Ví dụ #region directive!");
#endregion
}
}
Kết quả
Ví dụ #region directive!
Các trường hợp sử dụng phổ biến
| Vùng | Nội dung thường gom |
|---|---|
#region Fields | Fields, constants |
#region Properties | Properties |
#region Constructors | Constructors |
#region Public Methods | Public API |
#region Private Methods | Helper methods |
#region Event Handlers | UI event handlers |
#region Interface Implementation | Explicit interface impl |
Best Practices
- Đừng lạm dụng: Quá nhiều region làm code khó đọc, che giấu độ phức tạp thực sự.
- Đừng dùng trong method: Region bên trong method thường chỉ che giấu method quá dài - hãy tách method nhỏ hơn.
- Đặt tên rõ ràng: Tên region phải mô tả đúng nội dung bên trong.
- Không lồng region: Khó quản lý, IDE hỗ trợ kém.
Lưu ý kỹ thuật
- Là chỉ thị tiền xử lý (preprocessor directive) - xử lý tại compile time, không ảnh hưởng IL.
- Phải kết thúc bằng
#endregion. - Không thể lồng chéo (overlap) - phải lồng đúng cấu trúc.