Temsilciler (C# Programlama Kılavuzu)
Bir temsilci, belirli bir parametre listesi ve dönüş türü olan yöntemlere başvuruları gösteren bir türdür.Bir temsilci oluşturduğunuzda, örneğini uyumlu bir imza ve dönüş türü içeren herhangi bir yöntemle ilişkilendirebilirsiniz.Yöntemi, temsilci örneği aracılığıyla çağırabilirsiniz.
Temsilciler, yöntemleri bağımsız değişkenler olarak diğer yöntemlere geçirmek için kullanılır.Olay işleyicileri, temsilciler aracılığıyla çağrılan yöntemlerden başka bir şey değildir.Özel bir yöntem oluşturabilirsiniz ve bir pencere denetimi gibi bir sınıf, belirli bir olay olduğunda yönteminizi çağırabilir.Aşağıdaki örnek, bir temsilci bildirimini gösterir:
public delegate int PerformCalculation(int x, int y);
Temsilci türüyle eşleşen herhangi bir erişilebilir sınıf veya yapıdan alınan herhangi bir yöntem temsilciye atanabilir.Yöntem, statik veya örnek bir yöntem olabilir.Bu, yöntem çağrılarını programatik olarak değiştirmeyi ve varolan sınıflara yeni kod eklemeyi olanaklı kılar.
[!NOT]
Yöntem aşırı yükü bağlamında, yöntemin imzası dönüş değeri içermez.Ancak, temsilciler bağlamında, imza dönüş değerini içermez.Başka bir deyişle, bir yöntemin dönüş türü temsilciyle aynı olmalıdır.
Bir yönteme bir parametre olarak başvurma yeteneği, temsilciyi geri çağırma yöntemleri için ideal hale getirir.Örneğin, iki nesneyi karşılaştıran bir yönteme yapılan bir başvuru, bir sıralama algoritmasına bir bağımsız değişken olarak geçirilebilir.Karşılaştırma kodu ayrı bir yordamda olduğundan, sıralama algoritması daha genel bir şekilde yazılabilir.
Temsilcilere Genel Bakış
Temsilciler aşağıdaki özelliklere sahiptir:
Temsilciler C++ işlev işaretçileri gibidir, fakat tür bakımından güvenlidir.
Temsilciler, yöntemlerin parametre olarak geçirilmesine olanak tanır.
Temsilciler, geri çağırma yöntemlerini tanımlamak için kullanılabilir.
Temsilciler birlikte zincirleme yapılabilir; Örneğin, tek bir olay üzerine birden çok yöntem çağrılabilir.
Yöntemlerin temsilci türüyle tam olarak eşleşmesi gerekmez.Daha fazla bilgi için bkz. Temsilcilerde Varyans Kullanma (C# ve Visual Basic).
C# sürüm 2.0, kod bloklarının ayrı olarak tanımlanan bir yöntem yerine geçirilmesine olanak tanıyan Anonim Yöntemler kavramını kullanıma sundu.C# 3.0, satır içi kod blokları yazmak için daha kısa bir yol olarak lambda ifadelerini kullanmaya başladı.Hem anonim yöntemler hem de lambda ifadeleri (belirli bağlamlarda) temsilci türleri olarak derlenir.Birlikte, bu özellikler artık anonim işlevler olarak bilinir.Lambda ifadeleri hakkında daha fazla bilgi için bkz. Anonim İşlevler (C# Programlama Kılavuzu).
Bu Bölümde
Ne zaman kullanılacağı arabirimleri (C# Programlama Kılavuzu) yerine vekiller
Adlandırılmış ve Anonim Yöntemler ile Temsilciler (C# Programlama Kılavuzu)
Nasıl yapılır: Temsilcileri Birleştirme (Çok Noktaya Yayın Temsilcileri)(C# Programlama Kılavuzu)
Nasıl yapılır: Temsilci Bildirme, Oluşturma ve Kullanma (C# Programlama Kılavuzu)
C# Dil Belirtimi
Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.
Özel Kitap Bölümleri
Delegates, Events, and Lambda Expressions içindeki C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers
Delegates and Events içindeki Learning C# 3.0: Master the fundamentals of C# 3.0
Ayrıca bkz.
Başvuru
Olaylar (C# Programlama Kılavuzu)