wmismail Posted June 4, 2009 Share Posted June 4, 2009 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.