C# - C Sharp: Các mức khả năng truy cập


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Ta sử dụng các bổ từ truy cập publicprotectedinternal, hoặc private để chỉ định một trong các mứa khả năng truy cập được khai báo sau đây cho các thành phần (member).

Khả năng truy cập Giải nghĩa
public Quyền truy cập không bị hạn chế.
protected Chỉ truy cập được ở lớp chứa hoặc các lớp dẫn xuất (thừa kế) từ lớp chứa.
internal Chỉ truy cập được ở assembly hiện tại.
protected internal Chỉ truy cập được ở assembly hiện tại hoặc lớp chứa và các lớp dẫn xuất từ lớp chứa.
private Chỉ truy cập được ở lớp chứa.
private protected Chỉ truy cập được ở lớp chứa hoặc các lớp dẫn xuất từ lớp chứa nhưng trong assembly hiện thời. Áp dụng từ C# 7.2.

Mỗi member hoặc kiểu chỉ có một bổ từ truy cập, trừ trường hợp bạn dùng protected internal hoặc private protected.

Không được dùng bổ từ truy cập cho các namespace. Namespace không giới hạn mức độ truy cập.

Tùy thuộc vào ngữ cảnh khai báo member, chỉ một số khả năng truy cập được khai báo mới được phép. Nếu không có bổ từ truy cập nào được chỉ định khi khai báo member thì mức truy cập mặc định sẽ được sử dụng.

Các kiểu cấp cao nhất không được đặt lồng trong các kiểu khác, chỉ có mức khả năng truy cập là internal hoặc public. Khả năng truy cập mặc định cho những kiểu này là internal.

Đối với các kiểu lồng nhau là thành viên của các kiểu khác thì có thể có các khả năng truy cập được khai báo được chỉ ra trong bảng dưới đây.

Member Khả năng truy cập mặc định Khả năng truy cập được khai báo của member
enum public None
class private public

protected

internal

private

protected internal

private protected
interface public public

protected

internal

private*

protected internal

private protected
struct private public

internal

private

* Đối với member interface với khả năng truy cập là private thì phải có sự thực thi mặc định.

Khả năng truy cập của một kiểu lồng phụ thuộc vào "miền trợ năng" của nó, được xác định bởi khả năng truy cập được khai báo của member và miền trợ năng của kiểu chứa trực tiếp. Tuy nhiên, miền trợ năng của một kiểu lồng không được vượt quá miền của kiểu chứa.

» Tiếp: Đa luồng (MultiThreading)
« Trước: try-finally
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!