Aracılığıyla paylaş


Temsilciler (C# Programlama Kılavuzu)

A temsilci bir yöntem imzası tanımlar türüdür.Bir temsilci örneğini, uyumlu bir imza ile herhangi bir yöntemi, örnek ilişkilendirebilirsiniz.Çağırma (çağrı yöntemi temsilci oluşumu aracılığıyla veya).

Temsilciler yöntemleri bağımsız değişkenler olarak diğer yöntemlere için kullanılır.Olay işleyicileridir Temsilciler çağrılan yöntemlerine göre daha fazla bir şey.Özel bir yöntem oluşturmak ve belirli bir olay oluştuğunda windows denetim gibi bir sınıf kendi yöntemini çağırabilir.Aşağıdaki örnek, bir temsilci bildirimi gösterir:

    public delegate int PerformCalculation(int x, int y);

Herhangi bir erişilebilir sınıf ya da dönüş türü ve parametreler oluşur, temsilcinin imzası uyuşan yapı herhangi bir yöntem için temsilci atanabilir.Yöntem statik veya bir oluşum yöntemi olabilir.Bu yöntem çağrıları programatik olarak değiştirmek ve yeni kod varolan sınıflar da Tak mümkün kılar.Temsilcisinin imzasıyla bildiğiniz sürece, kendi yöntemi tahsis edebilirsiniz.

[!NOT]

Yöntemi aşırı bağlamında, imza, bir yöntemin dönüş değeri içermez.Ancak Temsilciler bağlamında imza dönüş değeri içerir.Başka bir deyişle, bir yöntemi temsilci dönüş değeri aynı olmalıdır.

Bir yöntemi parametre olarak başvurmak için bu yeteneği temsilcilerin geri çağrı yöntemlerini tanımlamak için idealdir.Örneğin, iki nesne karşılaştıran bir yöntem başvuru sıralama algoritması için bağımsız değişken olarak gönderilebilir.Karşılaştırma kodu ayrı bir yordamda olduğu için sıralama algoritması daha genel bir şekilde yazılabilir.

Temsilciler genel bakış

Temsilciler, aşağıdaki özelliklere sahiptir:

  • Temsilciler gibi C++ işlev işaretçileri, ancak güvenli türü.

  • Temsilciler parametre olarak iletilmesi için yöntemler sağlar.

  • Temsilciler, geri çağrı yöntemlerini tanımlamak için kullanılabilir.

  • Temsilciler birlikte zincirleme; Örneğin, tek bir olay üzerinde birden çok yöntem çağrılabilir.

  • Yöntem temsilcinin imzası tam olarak eşleşmesi gerekmez.Daha fazla bilgi için bkz. Farkı Temsilciler (C# ve Visual Basic) kullanma.

  • C# 2.0 sürümü sunulan kavramını Adsýz yöntemler, yerine ayrı ayrı tanımlanmış bir yöntem parametreleri olarak geçirilen kod bloklarına izin.C# 3.0 lambda ifadeleri satır içi kod blokları yazma daha kısa bir yol olarak kullanılmaya başlandı.Adsýz yöntemler hem de lambda ifadeleri (belirli bağlamlarda) türleri temsilci derlenir.Birlikte, bu özellikler artık Anonim işlev olarak bilinir.Lambda ifadeleri hakkında daha fazla bilgi için bkz: Anonim işlevler (C# Programlama Kılavuzu).

Bu Bölümde

C# dil belirtiminin

Daha fazla bilgi için bkz: C# dil belirtiminin. Dil belirtimi, C# sözdizimi ve kullanımı için nihai kaynaktır.

Özel Kitap Başlıkları

C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers içinde Delegates, Events, and Lambda Expressions

Learning C# 3.0: Master the fundamentals of C# 3.0 içinde Delegates and Events

Ayrıca bkz.

Başvuru

Olayları (C# Programlama Kılavuzu)

Delegate

Kavramlar

C# Programlama Kılavuzu