C# Access Modifiers

C# Access Modifiers

Access modifiers in C# define the visibility and accessibility of classes, methods, and members.
They control who can access a class or its members.


🔹 Types of Access Modifiers

ModifierDescriptionAccessible From
publicFully accessibleAnywhere
privateOnly inside the classSame class only
protectedAccessible in class & derived classesSame class & subclass
internalAccessible within same assembly/projectSame project
protected internalAccessible in derived classes or same assemblySubclass or same project
private protectedAccessible in derived class within same assemblySubclass in same assembly

🔹 public Example


 


🔹 private Example



 


🔹 protected Example


 


🔹 internal Example



 

✔ Accessible within the same assembly/project, not from another project.


🔹 protected internal Example

Accessible if either condition is true:

  • Derived class

  • Same assembly

protected internal int Id;

🔹 private protected Example

Accessible if both conditions are true:

  • Derived class

  • Same assembly

private protected int Id;

🔹 Default Access Modifier

  • Class members default to private

  • Top-level classes default to internal


🔹 Summary

public → everyone
private → only class
protected → class & derived
internal → same project
protected internal → derived or same project
private protected → derived in same project

You may also like...