Все поля, методы и остальные компоненты класса имеют модификаторы доступа. Модификаторы доступа позволяют задать допустимую область видимости для компонентов класса. То есть модификаторы доступа определяют контекст, в котором можно употреблять данную переменную или метод.

В языке C# применяются следующие модификаторы доступа:

private: закрытый или приватный компонент класса или структуры. Приватный компонент доступен только в рамках своего класса или структуры.

private protected: компонент класса доступен из любого места в своем классе или в производных классах, которые определены в той же сборке.

file: добавлен в версии C# 11 и применяется к типам, например, классам и структурам. Класс или структура с такми модификатором доступны только из текущего файла кода.

protected: такой компонент класса доступен из любого места в своем классе или в производных классах. При этом производные классы могут располагаться в других сборках.

internal: компоненты класса или структуры доступен из любого места кода в той же сборке, однако он недоступен для других программ и сборок.

protected internal: совмещает функционал двух модификаторов protected и internal. Такой компонент класса доступен из любого места в текущей сборке и из производных классов, которые могут располагаться в других сборках.

public: публичный, общедоступный компонент класса или структуры. Такой компонент доступен из любого места в коде, а также из других программ и сборок.
ฟิลด์ วิธีการ และส่วนประกอบของคลาสอื่นๆ ทั้งหมดมีตัวแก้ไขการเข้าถึง ตัวดัดแปลงการเข้าถึงช่วยให้คุณสามารถระบุขอบเขตที่อนุญาตสำหรับส่วนประกอบของคลาส นั่นคือ ตัวดัดแปลงการเข้าถึงจะกำหนดบริบทที่ตัวแปรหรือเมธอดที่กำหนดสามารถใช้ได้ ตัวแก้ไขการเข้าถึงต่อไปนี้ใช้ใน C#: ส่วนตัว: ส่วนประกอบส่วนตัวหรือส่วนตัวของคลาสหรือโครงสร้าง องค์ประกอบส่วนตัวสามารถเข้าถึงได้เฉพาะภายในคลาสหรือโครงสร้างเท่านั้น ป้องกันส่วนตัว: ส่วนประกอบของคลาสสามารถเข้าถึงได้จากทุกที่ในคลาสหรือในคลาสที่ได้รับซึ่งกำหนดไว้ในแอสเซมบลีเดียวกัน ไฟล์: เพิ่มใน C# 11 และใช้กับประเภทต่างๆ เช่น คลาสและโครงสร้าง คลาสหรือโครงสร้างที่มีตัวปรับแต่งนี้สามารถเข้าถึงได้จากไฟล์โค้ดปัจจุบันเท่านั้น ป้องกัน: ส่วนประกอบของคลาสดังกล่าวสามารถเข้าถึงได้จากทุกที่ในคลาสหรือในคลาสที่ได้รับ ในกรณีนี้ คลาสที่ได้รับสามารถอยู่ในแอสเซมบลีอื่นได้ ภายใน: ส่วนประกอบของคลาสหรือโครงสร้างสามารถเข้าถึงได้จากทุกที่ในโค้ดในแอสเซมบลีเดียวกัน แต่ไม่สามารถเข้าถึงได้โดยโปรแกรมหรือแอสเซมบลีอื่น ป้องกันภายใน: รวมฟังก์ชันการทำงานของตัวดัดแปลงสองตัวที่ได้รับการป้องกันและภายใน ส่วนประกอบของคลาสดังกล่าวสามารถเข้าถึงได้จากทุกที่ในแอสเซมบลีปัจจุบันและจากคลาสที่ได้รับซึ่งอาจอยู่ในแอสเซมบลีอื่น สาธารณะ: องค์ประกอบสาธารณะที่สามารถเข้าถึงได้โดยสาธารณะของคลาสหรือโครงสร้าง ส่วนประกอบดังกล่าวสามารถเข้าถึงได้จากทุกที่ในโค้ด รวมถึงจากโปรแกรมและแอสเซมบลีอื่นๆ
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence