base (C#-Referenz)base (C# Reference)

Das base-Schlüsselwort wird verwendet, um aus einer abgeleiteten Klasse auf die Member der Basisklasse zuzugreifen:The base keyword is used to access members of the base class from within a derived class:

  • Rufen Sie eine Methode der Basisklasse auf, die durch eine andere Methode überschrieben wurde.Call a method on the base class that has been overridden by another method.

  • Geben Sie an, welcher Konstruktor der Basisklasse beim Erstellen von Instanzen der abgeleiteten Klasse aufgerufen werden soll.Specify which base-class constructor should be called when creating instances of the derived class.

Zugriff auf eine Basisklasse ist nur in einem Konstruktor, einer Instanzenmethode oder einem Instanzeneigenschaften-Accessor zulässig.A base class access is permitted only in a constructor, an instance method, or an instance property accessor.

Die Nutzung eines base-Schlüsselworts innerhalb einer statischen Methode ist ein Fehler.It is an error to use the base keyword from within a static method.

Die Basisklasse, auf die zugegriffen wird, ist die Basisklasse, die in der Klassendeklaration angegeben ist.The base class that is accessed is the base class specified in the class declaration. Wenn Sie z.B. class ClassB : ClassA angeben, wird von ClassB auf die Member von ClassA unabhängig von der Basisklasse von ClassA zugegriffen.For example, if you specify class ClassB : ClassA, the members of ClassA are accessed from ClassB, regardless of the base class of ClassA.

BeispielExample

In diesem Beispiel verfügen sowohl die Basisklasse Person als auch die abgeleitete Klasse Employee über eine Methode mit dem Namen Getinfo.In this example, both the base class, Person, and the derived class, Employee, have a method named Getinfo. Mithilfe des base-Schlüsselworts ist es möglich, die Getinfo-Methode der Basisklasse aus der abgeleiteten Klasse abzurufen.By using the base keyword, it is possible to call the Getinfo method on the base class, from within the derived class.

public class Person
{
    protected string ssn = "444-55-6666";
    protected string name = "John L. Malgraine";

    public virtual void GetInfo()
    {
        Console.WriteLine("Name: {0}", name);
        Console.WriteLine("SSN: {0}", ssn);
    }
}
class Employee : Person
{
    public string id = "ABC567EFG";
    public override void GetInfo()
    {
        // Calling the base class GetInfo method:
        base.GetInfo();
        Console.WriteLine("Employee ID: {0}", id);
    }
}

class TestClass
{
    static void Main()
    {
        Employee E = new Employee();
        E.GetInfo();
    }
}
/*
Output
Name: John L. Malgraine
SSN: 444-55-6666
Employee ID: ABC567EFG
*/

Weitere Beispiele finden Sie unter new, virtual und override.For additional examples, see new, virtual, and override.

BeispielExample

In diesem Beispiel wird veranschaulicht, wie der aufgerufene Konstruktor der Basisklasse beim Erstellen von Instanzen einer abgeleiteten Klasse angegeben wird.This example shows how to specify the base-class constructor called when creating instances of a derived class.

public class BaseClass
{
    int num;

    public BaseClass()
    {
        Console.WriteLine("in BaseClass()");
    }

    public BaseClass(int i)
    {
        num = i;
        Console.WriteLine("in BaseClass(int i)");
    }

    public int GetNum()
    {
        return num;
    }
}

public class DerivedClass : BaseClass
{
    // This constructor will call BaseClass.BaseClass()
    public DerivedClass() : base()
    {
    }

    // This constructor will call BaseClass.BaseClass(int i)
    public DerivedClass(int i) : base(i)
    {
    }

    static void Main()
    {
        DerivedClass md = new DerivedClass();
        DerivedClass md1 = new DerivedClass(1);
    }
}
/*
Output:
in BaseClass()
in BaseClass(int i)
*/

C#-SprachspezifikationC# language specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auchSee also

C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
thisthis