Jump to content

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


wmismail

Recommended Posts

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..");
    }
}

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...