Aracılığıyla paylaş


this (C# Başvurusu)

this Anahtar sözcüğü geçerli bir sınıf örneğine gösterir ve bir uzantısı yönteminin ilk parametresi deðiþtiricisi olarak da kullanılır.

[!NOT]

Bu makalede kullanımı anlatılmaktadır this sınıf örnekleriyle.Uzantı yöntemlerindeki kullanımı hakkında daha fazla bilgi için bkz: Genişletme Yöntemleri (C# Programlama Kılavuzu).

Aşağıda yaygın kullanımı, this:

  • Benzer adları ile örneğin gizli üyeler alabilmek için:
public Employee(string name, string alias)
{
    // Use this to qualify the fields, name and alias: 
    this.name = name;
    this.alias = alias;
}
  • Bir nesneyi parametre olarak başka örneğin yöntemlere için:

    CalcTax(this);
    
  • Örneğin, dizinleyici bildirmek için:

public int this[int param]
{
    get { return array[param]; }
    set { array[param] = value; }
}

Bir nesnenin bir parçası olarak değil de, sınıf düzeyinde bulunduğundan durağan üye işlevler gerekmez bir this işaretçisi.Başvurmak için bir hata olduğunu this , durağan bir yöntem.

Örnek

Bu örnekte, this nitelendirmek için kullanılan Employee sınıf üyeleri, name ve alias, benzer adları ile gizli olan.Ayrıca nesneyi yönteme kullanılır CalcTax, başka bir sınıfa ait olduğu.

class Employee
        {
            private string name;
            private string alias;
            private decimal salary = 3000.00m;

            // Constructor: 
            public Employee(string name, string alias)
            {
                // Use this to qualify the fields, name and alias: 
                this.name = name;
                this.alias = alias;
            }
            // Printing method: 
            public void printEmployee()
            {
                Console.WriteLine("Name: {0}\nAlias: {1}", name, alias);
                // Passing the object to the CalcTax method by using this:
                Console.WriteLine("Taxes: {0:C}", Tax.CalcTax(this));
            }

            public decimal Salary
            {
                get { return salary; }
            }
        }

        class Tax
        {
            public static decimal CalcTax(Employee E)
            {
                return 0.08m * E.Salary;
            }
        }

        class MainClass
        {
            static void Main()
            {
                // Create objects:
                Employee E1 = new Employee("Mingda Pan", "mpan");

                // Display results:
                E1.printEmployee();
            }
        }
        /*
        Output:
            Name: Mingda Pan
            Alias: mpan
            Taxes: $240.00
         */

C# dil belirtiminin

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.

Ayrıca bkz.

Başvuru

C# Anahtar Sözcükleri

base (C# Başvurusu)

Yöntemler (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu