Navigasyon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C# : Delegates (temsilciler) |
|
|
C# : Delegates (temsilciler)
C# da bilinmesi gereken ayrı bir konu Delegateler yani temsilcilerdir. Delegateler metodları temsil eder.
Temsilcilerinin kullanılmasının amacı, belli olmayan metot çağrımlarını çalışma zamanında belirlemektir. Bildirimi aşağıdaki gibidir.
Delegate yapısı c++ dilindeki function pointerlara tekabül ediyor. Delegate konusu da interface gibi tek başına bir anlamlı bir konu değil, kafanızda bunu ben nerde niye kullanayım, bu ne işe yarar gibi sorularda kalıcak ama event yapısı ile birleşince olayı daha iyi pekiştirip anlayacaksınız inş. Event yapısınıda bir dahaki dökümanda yazacağım inş.
Delegate’in en kısa anlatımı şudur herhalde : Delegate’ler metodların bellekteki adreslerini aklında tutar.
[Erişim belirleyicisi] delegate [geri dönüş tipi] [delegate ismi] (parametreler);
public delegate int Topla(int s1,int s2);
Aşağıdaki kodu inceleyin.
using System;
namespace _Delegate
{
class Program
{
public delegate int TemsilcimHandler( int sayi1, int sayi2);
public static int Topla( int t1, int t2)
{
return t1 + t2;
}
public static int Carp( int c1, int c2)
{
return c1 * c2;
}
static void Main(string[] args)
{
int s1, s2;
Console.Write( "1. sayi : " );
s1 = Convert.ToInt32(Console.ReadLine());
Console.Write( "2. sayi : " );
s2 = Convert.ToInt32(Console.ReadLine());
TemsilcimHandler temsilci ;
temsilci = new TemsilcimHandler(Topla);
Console.WriteLine( "Topla metodu :" + temsilci(s1, s2));
temsilci = new TemsilcimHandler(Carp);
Console.WriteLine( "Çarpım metodu : " + temsilci(s1, s2));
Console.Read();
}
|
|
|
|
|
|
|
Bugün 14362 ziyaretçi (22500 klik) kişi burdaydı! |
|
|
|
|
|
|
|