In C#, the base keyword is used to access the base class members of the current class, which includes the fields, properties, methods, constructors, indexers, and events of the base class.
In C#, the base keyword is used to access the base class members of the current class, which includes the fields, properties, methods, and constructs of the base class. Functions, indexers, and events. The following are some common uses of the base keyword in C#:
1. Access fields or properties of the base class:
When a field or attribute in a subclass has the same name as in the base class, you can use the base keyword to access the field or attribute of the base class.
csharp
class BaseClass { public int Value { get; set; } } class DerivedClass : BaseClass { new public int Value { get; set; } public void ShowBaseValue() { Console.WriteLine("Base Value: " + base.Value); // 访问基类的Value属性 } }
2. Call the constructor of the base class:
In the constructor of a derived class, you can use the base keyword to call the constructor of the base class. This is typically used to initialize inherited fields or perform some initialization logic of the base class.
csharp
class BaseClass { public BaseClass() { Console.WriteLine("BaseClass constructor called."); } } class DerivedClass : BaseClass { public DerivedClass() : base() // 调用基类的构造函数 { Console.WriteLine("DerivedClass constructor called."); } }
3. Call the base class method:
When a subclass overrides a base class method, you can use the base keyword to call the overridden method in the base class.
csharp
class BaseClass { public virtual void ShowMessage() { Console.WriteLine("Base class message."); } } class DerivedClass : BaseClass { public override void ShowMessage() { base.ShowMessage(); // 调用基类中被重写的方法 Console.WriteLine("Derived class message."); } }
4. Access the indexer of the base class:
If the base class has an indexer and the derived class overrides the indexer, you can use the base keyword in the derived class to access the indexer of the base class.
5. Access events of the base class:
Similarly, if the base class has events, the derived class can Add or override event handlers, but you can use the base keyword to trigger base class events.
Please note that the base keyword can only be used to access base class members inherited from the current class. If you try to use base to access a member that does not inherit from the base class, or use base in a class that has no inheritance relationship, the compiler will report an error. Furthermore, the base keyword cannot be used for static members because static members do not belong to any instance of the class but to the class itself.
The above is the detailed content of Several uses of the base keyword in C#. For more information, please follow other related articles on the PHP Chinese website!