Search This Blog

Sunday, October 25, 2009

Access Modifiers in C#

C# Access Modifier



Marks a member as accessible from an object variable as well as any derived classes.

Private (default)

Marks a method as accessible only by the class that has defined the method. In C#, all members are private by default.


Marks a method as usable by the defining class, as well as any derived classes. Protected methods, however, are not accessible from an object variable.


Defines a method that is accessible by any type in the same assembly, but not outside the assembly.

protected internal

Defines a method whose access is limited to the current assembly or types derived from the defining class in the current assembly.

Unmarked members are private by default in C#.

class SomeClass


// Accessible anywhere.

public void PublicMethod(){}

// Accessible only from SomeClass types.

private void PrivateMethod(){}

// Accessible from SomeClass and any descendent.

protected void ProtectedMethod(){}

// Accessible from within the same assembly.

internal void InternalMethod(){}

// Assembly-protected access.

protected internal void ProtectedInternalMethod(){}

// Unmarked members are private by default in C#.

void SomeMethod(){}


1 comment :