Search This Blog

Sunday, October 25, 2009

Access Modifiers in C#


C# Access Modifier

Meaning

Public

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.

Protected

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.

Internal

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 :