Access Modifiers (C# Reference)

Access modifiers are keywords used to specify the declared accessibility of a member or a type. This section introduces the five access modifiers:

  • public
  • protected
  • internal
  • private
  • file

The following seven accessibility levels can be specified using the access modifiers:

  • public: Access isn't restricted.
  • protected: Access is limited to the containing class or types derived from the containing class.
  • internal: Access is limited to the current assembly.
  • protected internal: Access is limited to the current assembly or types derived from the containing class.
  • private: Access is limited to the containing type.
  • private protected: Access is limited to the containing class or types derived from the containing class within the current assembly.
  • file: The declared type is only visible in the current source file. File scoped types are generally used for source generators.

This section also introduces the following concepts:

See also