C# Programming/Keywords/base
The keyword base
describes that you would like to refer to the base class for the requested information, not in the current instantiated class.
A base
class is the class in which the currently implemented class inherits from. When creating a class with no defined base class, the compiler automatically uses the System.Object
base class.
Therefore the two declarations below are equivalent.
public class MyClass
{
}
public class MyClass : System.Object
{
}
Some of the reasons the base keyword is used is:
- Passing information to the base class's constructor
public class MyCustomException : System.Exception
{
public MyCustomException() : base() {}
public MyCustomerException(string message, Exception innerException) : base(message,innerException) {}
// ......
}
- Recalling variables in the base class, where the newly implemented class is overriding its behaviour
public class MyBaseClass
{
protected string className = "MyBaseClass";
}
public class MyNewClass : MyBaseClass
{
protected new string className = "MyNewClass";
public override string BaseClassName
{
get { return base.className; }
}
}
- Recalling methods in the base class. This is useful when you want to add to a method, but still keep the underlying implementation.
// Necessary using's here
public class _Default : System.Web.UI.Page
{
protected void InitializeCulture()
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
CultureInfo.GetSpecificCulture(Page.UICulture);
base.InitializeCulture();
}
}
C# Keywords | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Special C# Identifiers (Contextual Keywords) | |||||||||||||||
| |||||||||||||||
Contextual Keywords (Used in Queries) | |||||||||||||||
|