base (C# Başvurusu)base (C# Reference)

base Anahtar sözcüğü türetilmiş bir sınıf içinden temel sınıfın üyelerine erişmek için kullanılır:The base keyword is used to access members of the base class from within a derived class:

  • Temel sınıfta, başka bir yöntem tarafından geçersiz kılınan bir yöntemi çağırın.Call a method on the base class that has been overridden by another method.

  • Türetilmiş sınıfın örneklerini oluştururken hangi temel sınıf oluşturucunun çağrılması gerektiğini belirtin.Specify which base-class constructor should be called when creating instances of the derived class.

Temel sınıf erişimine yalnızca bir oluşturucuda, örnek yönteminde veya örnek özellik erişimcisinde izin verilir.A base class access is permitted only in a constructor, an instance method, or an instance property accessor.

base Anahtar sözcüğünün statik bir yöntem içinden kullanılması hatadır.It is an error to use the base keyword from within a static method.

Erişilen temel sınıf, sınıf bildiriminde belirtilen temel sınıftır.The base class that is accessed is the base class specified in the class declaration. Örneğin, öğesini belirtirseniz class ClassB : ClassA, ClassA 'nın temel sınıfından bağımsız olarak SınıfB ' den erişim altına alınır.For example, if you specify class ClassB : ClassA, the members of ClassA are accessed from ClassB, regardless of the base class of ClassA.

ÖrnekExample

Bu örnekte, hem taban sınıfının Personhem de türetilmiş Employeesınıfın adında Getinfobir yöntemi vardır.In this example, both the base class, Person, and the derived class, Employee, have a method named Getinfo. base Anahtar sözcüğünü kullanarak, türetilmiş sınıfın içindeki Getinfo yöntemi temel sınıfta çağırmak mümkündür.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
*/

Daha fazla örnek için bkz. New, Virtualve override.For additional examples, see new, virtual, and override.

ÖrnekExample

Bu örnek, türetilmiş bir sınıfın örneklerini oluştururken çağrılan temel sınıf oluşturucunun nasıl ekleneceğini gösterir.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# dili belirtimiC# language specification

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi.For more information, see the C# Language Specification. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.The language specification is the definitive source for C# syntax and usage.

Ayrıca bkz.See also