Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
temsilci, belirli bir dönüş türüne ve parametre listesine sahip yöntemlere referansları temsil eden bir türdür. Bir temsilci örneği oluştururken, temsilci örneğini uyumlu imza ve dönüş türüne sahip herhangi bir yöntemle ilişkilendirebilirsiniz. Temsilci örneği aracılığıyla metodu (veya yöntemi) çağırabilirsiniz.
Delegate'ler, metodları diğer metodlara bağımsız değişken olarak geçirmek için kullanılır. Olay işleyicileri temelde temsilciler aracılığıyla çağırdığınız yöntemlerdir. Özel bir yöntem oluşturduğunuzda, Windows denetimi gibi bir sınıf belirli bir olay gerçekleştiğinde yönteminizi çağırabilir.
Aşağıdaki örnekte bir temsilci bildirimi gösterilmektedir:
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 temsilciye herhangi bir yöntem atayabilirsiniz. yöntemi statik veya örnek yöntemi olabilir. Esneklik, yöntem çağrılarını program aracılığıyla değiştirmenize veya var olan sınıflara yeni kod takmanıza olanak tanır.
Not
Yöntemi aşırı yükleme bağlamında, bir yöntemin imzası dönüş değerini içermez. Ancak, temsilciler bağlamında, imza dönüş değerini içerir. Başka bir deyişle, bir yöntemin, temsilci tarafından bildirilen dönüş türü olarak uyumlu bir dönüş türüne sahip olması gerekir.
Bir yönteme parametre olarak başvurabilme özelliği, temsilcileri geri çağırma yöntemlerini tanımlamak için ideal hale getirir. Uygulamanızdaki iki nesneyi karşılaştıran bir yöntem yazabilirsiniz. Bu yöntem daha sonra bir sıralama algoritması için delegetede kullanılabilir. Karşılaştırma kodu kitaplıktan ayrı olduğundan, sıralama yöntemi daha genel olabilir.
İşlev işaretçileri çağrı kuralı üzerinde daha fazla denetime ihtiyacınız olan benzer senaryoları destekler. Temsilciyle ilişkilendirilmiş kod, temsilci türüne eklenen sanal bir yöntem kullanılarak çağrılır. İşlev işaretçileriyle çalışırken farklı kurallar belirtebilirsiniz.
Temsilci özelliklerini keşfetme
Temsilciler aşağıdaki özelliklere sahiptir:
- Temsilciler, yöntemlerin parametre olarak geçirilmesine izin verir.
- Temsilciler geri çağırma yöntemlerini tanımlamak için kullanılabilir.
- Temsilciler, tek bir olayda birden çok yöntemi çağırmak gibi zincirlenebilir.
- Yöntemlerin temsilci türüyle tam olarak eşleşmesi gerekmez. Daha fazla bilgi için bkz. Temsilcilerde Varyans Kullanma.
- Lambda ifadeleri satır içi kod blokları yazmanın daha kısa bir yoludur. Lambda ifadeleri (belirli bağlamlarda) temsilci türleri için derlenir. Lambda ifadeleri hakkında daha fazla bilgi için bkz. Lambda ifadeleri.
İlgili makaleleri gözden geçirme
Temsilciler hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
- Temsilcileri kullanma
- Adlandırılmış ve anonim metotlara sahip temsilciler
- Temsilcilerde varyansı kullanma
- Temsilcileri (çok noktaya yayın temsilcileri) nasıl birleştireceğiniz
- Bir Delegeyi Bildirme, Örnekleme ve Kullanma
C# dil belirtimine erişme
Dil belirtimi, C# söz dizimi ve kullanımı için kesin kaynaktır. Daha fazla bilgi için bkz. C# Dil BelirtimiTemsilciler.