#312 – Accessibility of Methods in a Class
April 27, 2011 Leave a comment
You can apply access modifiers to methods defined in a class to define their accessibility. Accessibility dictates what other code is allowed to call the method.
- public – Any code can call the method
- private – Only code in the defining class can call the method
- protected – Code in the defining class or derived classes can call the method
- internal – Any code in the defining assembly can call the method
- protected internal – Code in the defining assembly or in derived classes can call the method
public class Dog
{
public void BarkALot()
{
for (int i = 1; i < 30; i++)
BarkOnce();
}
// Only this class can call
private void BarkOnce()
{
Say("Woof");
}
// Subclass can call
protected void BarkYourName()
{
Say(Name);
}
// Code in same assembly can call
internal void DumpBarkCount()
{
Say(numBarks);
}
// Code in same assembly or subclass can call
protected internal void BarkNameTwice()
{
Say(Name);
Say(Name);
}
}