Sem Göksu
Sem Göksu
Yazılım · Yolculuk · Fenerbahçe
Yazılım

C# 4.0 Dynamic Type (Dinamik Tip) Kullanımı

17 Mart 2009 1 dk okuma 3091 0
C# 4.0 ile birlikte "dynamic" isimli yeni bir static tip var. Dynamic tipi değişkenin tipinin dinamik olarak atanmasını (Dynamic Dispatch) sağlıyor.

Örneğin Icecek ve yiyecek isimli iki tipimiz var. Kullanıcının seçim yapacağı bir metot yazalım. Bu metot Menu isimli bir Enum alsın. Bu enumun değerine göre de geriye değer döndürsün. C# 4.0 ile birlikte gelen Dynamic tipini kullanarak geriye dönen tipin dinamik olarak belirlenmesini sağlayabiliyoruz.

void Main(string[] args)
{
    // C# 4.0 Öncesi
    Icecek secim = NeAlirsiniz(Menu.Icecek) as Icecek; // Metodun döndürdüğü tipi cast ederek Icecek tipine çevirmemiz gerekiyor
    secim.IcecekIc();

    // C# 4.0 Dynamic Language Runtime
   dynamic secim2 = NeAlirsiniz(
Menu.Icecek); // Tip dinamik olarak belirleniyor
   
secim2.IcecekIc();
    
    // Tipine bakalım...
    Console.WriteLine(secim2.GetType().Name);
}

static Object NeAlirsiniz(Menu menu)
{
    if(menu == Menu.Icecek)
        return new Icecek();
    else
        return new Yiyecek();
}

enum Menu
{
    Yiyecek,
    Icecek
}

public class Icecek
{
    public void IcecekIc()
    {
        Console.WriteLine("Yarasın..");
    }
}

public class Yiyecek
{
    public void YemekYe()
    {
        Console.WriteLine("Afiyet olsun..");
    }
}
Paylaş:

Yorumlar (0)

Henüz yorum yok. İlk yorumu sen yap!

Yorum bırak

* Yorumlar moderasyon sonrası yayınlanır. E-posta gizli tutulur.