Ana Sayfa | English Blog | Seminer TV | Dil Cookie Sil  Blog'u Mail ile takip et!       
Daron Yöndem - Visual Basic 2010
bir yazılımcının tasarıları...
 Tuesday, February 09, 2010

Hatırlarsanız sizlerle daha önce bu sene Berlin'de yapılan TechEd Europe'dan izlenimlerini aktarmıştım. (Gün 1, 2, 3) Bu sene ilk defa Middle-East yani bizim bölgemizde de TechEd gerçekleşiyor. Dubai'da 1-3 Mart arasında gerçekleşecek olan TechEd ME 2010'da benim de iki oturumum var!

TechEd ME'ye indirimli kayıt ol!
TechEd ME'ye indirimli kayıt ol!

TechEd'in birinci günündeki oturumumun başlığı "New in C# and Visual Basic for 2010" şeklinde. Tahmin edebileceğiniz üzere Visual Studio 2010 ve .NET 4 RC üzerinden VB ve C# yeniliklerine göz atacağız bu oturumda. İkinci oturumum ise TechEd'in ikinci gününde "Windows Internet Explorer 8 in the Enterprise: Build, Deploy, and Manage Better Experiences" başlığını taşıyor. Bu oturumda IE8 ile beraber gelen yeni özelliklerin kurumsal alandaki kullanımına yönelik senaryoları inceleyeğiz ve bu araçların dağıtımı, yönetimi ile ilgili detayları ele alacağız. TechEd'de daha önce de TLC (Technical Learning Center)'da ve Silverlight Booth (ATE-Ask The Expert)'de görevli olmuş biri olarak bu sefer de oturumlarla katkıda bulunmak benim için çok heyecan verici.

Dikkat Dikkat! İndirim var!

İşte geldik sizin için elimde neler var kısmına :) Birincisi eğer TechEd ME'ye katılıyorsanız lütfen beni haberdar edin! Orada görüşelim! Eğer katılamıyorsanız ve katılmak istiyorsanız bu sefer de size özel %15 indirim kodunu kıvançla paylaşıyorum :) 52F42DC3 Bu kodu kullanarak TechEd ME'ye kayıt olursanız kayıtta %15 indirim alacaksınız! Hadi bakalım Dubai'de görüşmek üzere!

Update: Son dakika değişiliği ile bir üçüncü oturumum daha var TechEd ME'de! "Create Multitouch Applications on Windows, on Surface and on the Web" ;) Kaçırmayın!

Tuesday, February 09, 2010 12:30:11 PM (GTB Standard Time, UTC+02:00)  #    Comments [4]   C# | IE 8.0 | MultiTouch | Visual Basic 2010  | 
 Wednesday, January 20, 2010

Uzun zaman olsun seminer kayıtlarını bloguma taşıyalı. Bir süredir pek kayıt almadığımın farkına vardım :) En son INETA NEXT İstanbul'daki Visual Basic 2010 oturumunun kaydını sizlerle paylaşarak önümüzdeki dönemde gelecek yeni kayıtların da kapısını açmış olalım ;)

Yukarıdaki videoyu bilgisayarına indirmek isteyenler blogumun SeminerTV bölümünden faydalanabilirler.

İyi seyirler...

Wednesday, January 20, 2010 12:30:36 PM (GTB Standard Time, UTC+02:00)  #    Comments [8]   Visual Basic 2010 | Visual Studio 2010  | 
 Sunday, December 27, 2009

Koca bir INETA NEXT serisi bitti! :) Bu hafta sonu gerçekleştirdiğimiz Denizli etkinliği ile beraber 2009'ın NEXT serisine son vermiş olduk. Diyarbakır, İstanbul, Kayseri ve Denizli turumuz INETA kapsamında tüm sosyal topluluklar ve editörleri ile beraber son iki yılda gerçekleştirdiğimiz en büyük hareket oldu. Tüm bu seri boyunca katkıda bulunan INETA sosyal topluluklarımıza ve sevgili konuşmacılarımıza ÇOK teşekkürler.

Muammer Benzeş (birliktegelistir.com)
Erkan Balaban (Ceviz.net)
Oğuz Yağmur (csharpnedir.com)
Uğur Umutluoğlu (nedirtv.com)
Barış Kanlıca (yazgelistir.com)
Burak Selim Şenyurt (nedirtv.com)
Selçuk Yavuz (Ceviz.net)

Tüm etkinlikler boyunca en çok merak edilenlerden birinin "Beyin" olduğunu gördüm :) Biliyorsunuz ilk etkinliği duyurduğumuzda her şehirde bir katılımcıya yeni bir beyin vereceğimizden bahsetmiştik. Bu beyin konusunda ben her ne kadar samimi olsam da :) herkes "beyin" kelimesinden yola çıkarak çok farklı şeyler düşünmüş. Oysa gerçekten de "beyin" derken "beyin" demek istemiştim :)

Yepyeni bir beynin sahibi!
Yepyeni bir beynin sahibi!

Fotoğrafta da görebileceğiniz üzere arkadaşımız yeni beynini sevinçle karşılamış durumda :D Her şehirde bu şekilde bir beyin hediye etme şansımız oldu. Beynin özelliği gerçek bir beyin "vıcıklığında" olma ile beraber her ne yaparsanız yapın esnese de şeklini kaybetmiyor olması :)

Etkinliklerimize katılan herkese tekrar defalarca çok teşekkürler. Bizi takip etmeye devam edin ;)

Sunday, December 27, 2009 10:23:48 AM (GTB Standard Time, UTC+02:00)  #    Comments [1]   .NET Framework 4.0 | ASP.NET 4.0 | C# | Expression Blend | Expression Studio | IE 8.0 | IIS 7.0 | LINQ | PLINQ | Silverlight 4 | Visual Basic 2010 | Visual Studio 2010 | WCF | Windows 7 | WPF  | 
 Monday, December 21, 2009

Bugün INETA NEXT serimizin Kayseri ayağını tamamladık. Ceviz.NET'ten sevgili Selçuk Yavuz ile beraber konuşmacı olduğumuz etkinlik boyunca Silverlight, WPF, C#4, VB10, Visual Studio 2010, MVC2, ASP.NET 4 gibi konulara değindik.

INETA NEXT Kayseri
INETA NEXT Kayseri

Özellikle Kayseri etkinliği çevre illerin de katılımın da bölgesel bir etkinliğe dönüşmüştü. Yirmi kişilik ekiplerin başka şehirlerden gelebiliyor olması doğru bir konum seçtiğimiz adına güzel bir mesajdı diyebilirim. Tabi her zamanki gibi etkinlik saatleri sarktı bizim gidiş uçağımız gecikti vs derken özellikle şehir dışından gelen ekipler son oturumları otobüs saatleri nedeniyle kaçırdılar :( Yine de değerlendirme formlarına baktığımda herkesin mutlu olduğunu görmek çok sevindirici.

Kayseri'den bir kare...
Kayseri'den bir kare...

Kayseri aynı anda benim de baba memleketi olduğu için ayrı bir sempati duyduğumu itiraf etmeliyim. Diğer yandan pastırma, çemen ve mantı üçlüsü da efsanevi hareketlere yol açabiliyor :) Ama şunu tekrar öğrendim İstanbul'da mantı da yalan pastırma da! Geleceği dair hedeflerimi net bir şekilde belirledim artık. Bir helikopter satın alıp herşeyi memleketinde yemek gerek :)

Etkinlikte katkılarından dolayı iki süper MSP'ye çok teşekkür ediyorum! Sevgili İbrahim Kıvanç ve Mustafa Kaya! Çok teşekkürler tüm desteğiniz için. Ayrıca İbrahim bir de C# 4.0 dinamik diller desteği konusunda mini IronPython oturumu sundu ;) Süperdi!

Son olarak Erciyes Üniversitesi'nden hocalarımıza da tüm etkinlik boyunca bizi yalnız bırakmadıkları için ÇOK ÇOK teşekkürler. Sizlerin desteği bizim için çok önemli!

Gün sonunda hediyeler vs derken Kayseri'de de bir kişiye yeni bir beyin hediye ederek geri döndük :) Haftaya Denizli'de görüşmek üzere...

Monday, December 21, 2009 4:38:28 AM (GTB Standard Time, UTC+02:00)  #    Comments [7]   .NET Framework 4.0 | ASP.NET 4.0 | C# | MVC | Silverlight 4 | Visual Basic 2010 | Visual Studio 2010 | WPF  | 
 Sunday, December 13, 2009

Bugün INETA NEXT'in İstanbul ayağını gerçekleştirdik. Kişisel olarak benim için efsanevi bir hafta sonu oldu! Tüm konuşmacılarımıza tek tek milyonlarca defa teşekkür ediyorum. Ayrıca tabi ki yağmura rağmen tüm salonu dolduran herkese de onlarca teşekkürler! Umarım herkes için de bir o kadar faydalı bir aktivite olmuştur.

Katılım zirvede bir seminer! INETA NEXT!
Katılım zirvede bir seminer! INETA NEXT!

İki gün boyunca hızlı bir "geleceğe bakış" attık. SL 4, VB10, CS4, ASP.NET 4, WF4, IIS Media Services, IE Development vs derken epey bir içeriğe hızlıca göz atma şansımız oldu. Tabi hediyelerimiz de eksik olmadı :) NEXT serisine uygun şekilde Windows 7 hediyemizin yanı sıra Windows 7 T-Shirtlerimiz, Visual Studio 2010 atkılarımız, laptop stickerlarımız! havalarda uçuştu desem yeridir :)

INETA NEXT İstanbul ayağı...
INETA NEXT İstanbul ayağı...

Tekrar katılan herkese defalarca teşekkürler. Çok yakında etkinlikte konuşan tüm konuşmacılarımızın sunumlarını ve video kayıtlarını da sizlerle www.inetatr.org üzerinden paylaşacağız. İçerikler ve paylaşımlar hazır olduğunda ben de twitter ve blog üzerinden duyuracağım.

Bu arada unutmayın :) blogumu sayfanın en üstündeki linkten kayıt olarak mail ile de takip edebilirsiniz.

Haftaya hafta sonu Kayseri'de görüşmek üzere!

Not: Tüm etkinlik fotoğraflarına buradan ulaşabilirsiniz: http://skydrive.live.com/inetanext09istanbul

Sunday, December 13, 2009 11:29:09 PM (GTB Standard Time, UTC+02:00)  #    Comments [3]   .NET Framework 4.0 | ASP.NET 4.0 | C# | IE 8.0 | Seminer | Silverlight 4 | Visual Basic 2010 | Visual Studio 2010 | WCF | WF  | 
 Monday, December 07, 2009

Bu hafta sonu iki gün boyunca INETA NEXT turumuzun ilk ayağı olan Diyarbaklır'daydık. Sevgili Muammer Benzeş ve Erkan Balaban ile beraber sunduğumuz oturumlarda, Silverlight 4, ASP.NET 4, VB 10, C# 4, Windows 7 ve WPF 4 gibi konulardan bahsettik. Benim için çok eğlenceli olduğu kadar da güzel bir iki gün oldu.

INETA NEXT Diyarbakır
INETA NEXT Diyarbakır

Organizasyon boyunca öğrenci katılımının yanı sıra Diyarbakır Belediyesi, Emniyet Müdürlüğü gibi birçok devlet kurumundan da görevli arkadaşlarla tanışma şansımız oldu. Yukarıdaki fotoğraftan görebileceğiniz üzere standart community aktivitelerine göre biraz yaş ortalaması yüksek :) Bu çerçevede anlattıklarımızın kısa vadede gerçek hayata geçmesi olasılığı da bir o kadat yüksek oluyor. Etkinlik sonunda dağıttığımız değerlendirme formlarından birindeki yorum hem etkinliğin faydasını hem de etkisini özetliyordu :) "Çok güzel ve yeni teknolojilerle neler yapılabileceği öğrendik. Artık yazılımcı ekibimizin bizden çekeceği var!" :)

Diyarbakır'da yazılım sektörü nerede?
Diyarbakır'da yazılım sektörü nerede?

Etkinliğimizde bulunan katılımcılardan Murat the Hiperaktive :) (Kendisine bu ismi taktık ama daha haberi yok) Diyarbakır'ın yazılım sektörü çerçevesinde ne kadar parlak bir noktada olduğunun ip uçlarını veriyor. Murat Bey bir müşterisinin ihtiyaçlarını tespit edip hem donanım hem de yazılım kısmı ile ilgilenerek gerekli çözümleri üretip gerçek hayata geçirmiş. Bunun gibi Diyarbakır içerisinde ve dışında kullanılan bir çok yazılımdan bahsetme şansı oldu bize. Özellikle bu yazılımlardan birini yakından inceleme şansımız oldu. Nasıl mı? Bir künefeci için yapmış olduğu sistemi yerinde gösterdi :) Yukarıdaki fotoğrafta da gördüğünüz üzere künefe siparişimi bir masadaki bir ekrandan giriyorum ve sipariş otomatik olarak alt kattaki bir bilgisayara düşüyor. Sistemin detaylarına girmeyeceğim fakat garsonsüz ve iki katlı bir künefecenin yaratılmasında bu yazılımın büyük katkısı olduğu kesin. Fikir süper, implementasyon süper! Kısmen tek kişilik dev kadro olarak kendisine "Helal olsun!" diyorum.

Etkinlik duyurusu Diyarbakır caddelerinde.
Etkinlik duyurusu Diyarbakır caddelerinde.

Etklinliğimize Dicle Üniversitesi ev sahipliği yaptı. Özellikle sevgili hocamız Mehmet Siraç Özerdem'e buradan milyonlarca kez teşekkür etmek istiyorum. Diyarbakır'da etkinliğimizin kahramanı olan hocamızın misafirperverliği kesinlikle istisnai bir mükemmeliğe sahipti. Tabi ek olarak konuşmacılarımıza ve tüm katılımcılarımıza da onlarca teşekkürler. İki gün boyunca bizi yalnız bırakmadınız.

Umarım katılan herkes için faydalı bir etkinlik olmuştur. Bizim için muhteşemdi. INETA NEXT Turu'na Diyarbakırı dahil ettiğimiz için ÇOK memnun kaldım. Bir dahakine görüşmek üzere Diyarbakır!

Monday, December 07, 2009 1:12:40 PM (GTB Standard Time, UTC+02:00)  #    Comments [6]   ASP.NET 4.0 | C# | Silverlight 4 | Visual Basic 2010 | WPF  | 
 Sunday, November 29, 2009

INETA NEXT etkinliklerimizle ilgili duyuruyu bundan yaklaşık bir hafta önce sizinle paylaşmıştım. Maalesef o zamanlarda içeriği paylaşma şansımız yoktu çünkü içeriğimizde daha Microsoft tarafından lansmanı yapılmamış ürünlere dair oturumlar olacaktı :) Eh artık zamanı geldi ve içeriğimizi paylaşmaktan gurur duyuyorum.

Diyarbakır - Dicle Üniversitesi, Tıp Fakültesi Konferans Salonu
5 Aralık
11.00-12.30 Visual Basic  10 Yenilikleri - Daron Yöndem (yazgelistir.com)
14.00-15.30 Windows 7'de neler var? - Muammer Benzeş (birliktegelistir.com)
16.00-17.00 Silverlight 4 - Daron Yöndem (yazgelistir.com)
6 Aralık
11.00-12.30 C# 4.0 Yenilikleri - Erkan Balaban (ceviz.net)
14.00-15.30 WPF 4 ile 3D Animasyon Programlama - Daron Yöndem  (yazgelistir.com)
16.00-17.30 ASP.NET 4.0 - Erkan Balaban (ceviz.net)

İstanbul - Microsoft Ofisi (Kroki)
12 Aralık
;
10.00-11.00 Silverlight 4 - Daron Yöndem (yazgelistir.com)
11.00-12.00 ASP.NET MVC 2 - Oğuz Yağmur (csharpnedir.com)
14.00-15.00 IIS Media Services - Muammer Benzeş (birliktegelistir.com)
15.15-16.15 Visual Basic 10 Yenilikleri - Daron Yöndem (yazgelistir.com)
13 Aralık
11.00-12.30 ASP.NET 4.0 Yenilikleri - Uğur Umutluoğlu (nedirtv.com)
14.30-15.45 Workflow Foundation 4.0 - Burak Selim Şenyurt (csharpnedir.com)
16.00-17.00 C# 4.0 Yenilikleri - Erkan Balaban (ceviz.net)
17.15-18.00 IE 8 Toolbar Geliştirme  - Barış Kanlıca (yazgelistir.com)

Kayseri - Erciyes Üniversitesi Mühendislik Fakültesi Konferans Salonu
19 Aralık
11.00-12.30 C# 4.0 Yenilikleri -Burak Selim Şenyurt  (csharpnedir.com)
14.00-15.30 Silverlight 4 - Daron Yöndem (yazgelistir.com)
15.45-16.45 ASP.NET 4.0 - Selçuk Yavuz (ceviz.net)

20 Aralık
11.00-12.30 ASP.NET MVC 2 - Selçuk Yavuz (ceviz.net)
14.00-15.30 Visual Basic 10 Yenilikleri - Daron Yöndem (yazgelistir.com)
15.45-16.45 Workflow Foundation 4.0 - Burak Selim Şenyurt (csharpnedir.com) 

Denizli - Pamukkale Üniversitesi Kongre Kültür Merkezi Ana Salon
26 Aralık
11.00-12.30 Silverlight 4.0 - Daron Yöndem (yazgelistir.com)
14.00-15.30 C# 4.0 Yenilikleri - Oğuz Yağmur (csharpnedir.com)
15.45-16.45 Asp.NET 4.0 Yenilikleri - Uğur Umutluoğlu (nedirtv.com)
27 Aralık
11.00-.12.30 Visual Basic 10 Yenilikleri - Daron Yöndem (yazgelistir.com)
14.00-15.30 Asp.NET MVC 2 - Oğuz Yağmur (csharpnedir.com)
15.45-16.45 ASP.NET AJAX 4.0 - Uğur Umutluoğlu (nedirtv.com)

Kayıt için www.inetatr.org adresini ziyaret etmeyi unutmayın!

Bu arada ilk etkinlik duyurumuzda da yer alan "Bir katılımcıya yeni bir beyin verilecektir" :) cümlesi biraz merak uyandırmış. Zaten amacı da buydu söz konusu cümlenin. Merak etmeye devam etmeniz gerekecek fakat emin olun bir katılımcıya çekilişle yeni bir beyin vereceğiz :) Bizde yalan yok :) Ayrıca birçok da sürpriz hediye olacak, benden söylemesi.

Sunday, November 29, 2009 2:43:22 PM (GTB Standard Time, UTC+02:00)  #    Comments [11]   .NET Framework 4.0 | ASP.NET | ASP.NET 4.0 | C# | IIS 7.0 | Seminer | Silverlight 4 | Visual Basic 2010 | Visual Studio 2010 | WCF | WF | Windows 7 | WPF  | 
 Wednesday, September 16, 2009

Visual Studio 2010 ile beraber Visual Basic 2010 da geliyor. Bu görsel derste Visual Basic 2010'a bir ön gezi düzenliyoruz. Dile dair yeni gelen özellikleri merak ediyorsunuz kaçırmayın derim.

Yukarıdaki videoyu bilgisayarına indirmek isteyenler nedirtv.com'u ziyaret edebilirler.

İyi seyirler...

Wednesday, September 16, 2009 11:27:11 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]   Visual Basic 2010 | Visual Studio 2010  | 
 Thursday, October 30, 2008

Visual Studio 2010 ve .NET Framework 4.0 CTP'lerinin yayınlandığı bugünlerde iki yol sonra karşımıza çıkacak yazılım teknolojilerine yön verme ve inceleme adına heyecanlı günler yaşadığımı itiraf edebilirim.

Visual Studio 2008 ve .NET Framework 4.0 yeni logoları.
Visual Studio 2008 ve .NET Framework 4.0 yeni logoları.

Tüm bu yenilikler arasında tabi ki Visual Basic'in de artık 10'uncu sürümü ile karşı karşıyayız. Bu yazıa şu an yayında olan CTP üzerinden yola çıkarak VB 10 ile beraber gelen yenilikleri inceleyeceğiz.

Statement Lambda

Lambda'lara az çok LINQ ile beraber alışmıştık. VB 10 ile beraber çok ilginç ve bir o kadar da güzel bir özellik geliyor. Ama gelin bunun öncesinde VB 9 ile neler yapardık bir göz atalım.

[VB9]

Public Class Form1

 

    Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        MsgBox("Burada")

    End Sub

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        AddHandler Me.Click, AddressOf Form1_Click

    End Sub

End Class

Gördüğünüz gibi basit bir şekilde Form'un Load durumunda dinamik olarak yine formun Click event'ını bir Sub'a bağlıyoruz. Böylece artık forma tıklandığında "Burada" mesajı gösterilecek. Tüm bunu yapmak için, yani dinamik event bağlamak için gidip ayrı bir yerde Sub yazmamız ve sonra da AddressOf ile bağlamamız gerekiyordu. Oysa artık satır için Sub var :)

[VB10]

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        AddHandler Me.Click, Sub()

                                                     MsgBox("Burada")

                                            End Sub

    End Sub

End Class

Nasıl? Güzel değil mi? Satır içi Sub'ımızı yazdık bitti. Bu işlevselliği AddressOf'u kullandığınız her yerde kullanabileceğinizi düşünürseniz gerçekten süper! Peki ya Function'lar? İşte size satır içi Function kullanımı.

[VB10]

        Dim Fonksyon = Function(x As Integer)

                                           Return x * 2

                                  End Function

        MsgBox(Fonksyon(2))

Yukarıdaki kod içerisinde doğrudan Function'ımızı kodun içinde satır içi yazarak tanımlıyoruz ve sonrasında da rahatlıkla Invoke işlemini gerçekleştirebiliyoruz.

Coşmuş Type Inference

Type Inference'a zaten alışkın durumdayız. VB10 ve VS10 ile beraber bir adım daha ileriye gidiliyor. Örneğin aşağıdaki gibi bir değişken tanımında değişkenin bir Array olduğunu veya ne Array'i olduğunu belirtmenize gerek kalmıyor.

Type Inference'ın bu kadarı :)
Type Inference'ın bu kadarı :)

Unutmayın bu şekilde tanımlamalar performans kaybına neden olmaz. Compiler Compile Time'da gerekli kodları üretecektir.

PLINQ

Parallel LINQ aslında VB'ye özel bir konu değil fakat VS10 ve VB10 ile beraber de geldiği için hızlıca bahsetmek istiyorum. Adından da anlaşılacağı üzere PLINQ'de çalıştırılan sorguların kendi içlerinde birden çok işlemcide çalıştırılmak üzere hazırlanmış durumdalar. Gelin hemen aşağıdaki koda bir göz atalım.

[VB10]

       Dim sayilar = {10, 20, 30, 40}

 

        Dim XML = <Sayilar>

                             <%= From Inc In sayilar.AsParallel

                                      Select <Sayi><%= Inc %></Sayi> %>

                           </Sayilar>

AsParallel metodu otomatik olarak PLINQ kullanılmasını sağlıyor. Normal şartlarda sırası ile 10, 20, 30, 40 sayılarını alırken bu şekilde AsParallel olarak sorgumuzu çalıştırdığımızda 20, 10, 30, 40 gibi bir sonuç elde ediyoruz. Bunun nedeni işlemin paralel bir şekilde çalıştırıldıktan sonra sonucun bize döndürülüyor olması. Bu ufak detay bile aslında PLINQ'in kullanılabileceği ve kullanılamayacağı noktalara karar vermek için yeterli sayılabilir.

Add metodunu defalarca kullanmaktan kurtulunu!

Bu özelliğe başlık bulmakta zorlandığımı sanırım farkına vardınız. Düşünün ki elimizde bir List var ve bu List içerisinde birden çok Item eklememiz gerekiyor. Normal şartlarda her bir Item'ı yaratarak tek tek Add metodunu çağırırdık.

[VB9]

Dim Liste As New List(Of String)

Liste.Add("Ahmet")

Liste.Add("Mehmet")

Peki VB10 tarafında neler yapabiliriz? Yeni bir Keyword'ümüz var : From

[VB10]

 Dim Liste As New List(Of String) From {"Ahmet", "Mehmet"}

Aslında arka planda çalışan yapı doğrudan dizi içerisindeki bir Item için Add metodunu çağırmaktan farklı değil. Örneğin elimizde özel bir sınıfın listesi olsaydı aynı şekilde o sınıftan da objeler yaratarak from ile listeye ekleyebilirdik.

[VB10]

        Dim Liste As New List(Of Adam) From {

            New Adam() With {.Adi = "Ahmet", .Soyadi = "Hebe"},

            New Adam() With {.Adi = "Mehmet", .Soyadi = "Hebe"}}

Örnek kodumuzdaki List bir Adam List'i olduğu için burada önemli olan List sınıfının Add metodunun Adam tipinden değişken istiyor olması. Sırasıyla yaratarak bir array olarak veriyoruz. İsterseniz Adam tipinden List'elerin Add metoduna Overrides keywordü ile bir alternatif eklemek için ExtensionMethod'ları da kullanabilirsiniz.

[VB9]

Module Module1

    <Runtime.CompilerServices.Extension()>

    Sub Add(ByVal x As List(Of Form1.Adam), ByVal Adi As String, ByVal soyadi As String)

        x.Add(New Form1.Adam() With {.Adi = Adi, .Soyadi = soyadi})

    End Sub

End Module

VB9'da tanıştığımız Extension Method'lardan bir adet tanımlayarak Adam tipinden bir Liste oluşturulduğunda bu objelerin bir Add metodlarının olacağını ve Adi, Soyadi olarak String'ler alacağını tanımlıyoruz. Extension Method içerisinde de bu bilgileri alıp yeni bir Adam yaratıp listeye ekliyoruz. Böylece artık elimizdeki listeye Adam eklemek için Add metodunu çağırırken iki adet String verip bir Adam eklenmesini de sağlayabildik. Ama aslında bu Add metodunu da biz değil From keyword'ü kullanacak.

[VB10]

        Dim Liste As New List(Of Adam) From {

            {"Ahmet", "Hebe"},

            {"Mehmet", "Hebe"}}

Böylece artık yukarıdaki kodumuzda doğrudan bilgileri vererek her seferinde New ile obje yaratmadan da istediğimiz kadar Adam ekleyebiliriz.

Property tanımlamaları

C#'dan en çok kıskandığım özelliklerden biri Get ve Set'lerin kısaltılmasıydı. Çoğu zaman Property tanımlarken aslında Get ve Set kodlarını değiştirmiyoruz. Her ne kadar VS içerisinde kısa yolları kullanarak bu kodları yazmıyor olsak da maalesef biz yazmamış olsak da projemizdeki her satır kodun bir gün bir bug olarak karşımıza çıkma ihtimali var :)

[VB9]

Private PAdi As String = "Varsayılan"

Public Property Adi() As String

    Get

        Return PAdi

    End Get

    Set(ByVal value As String)

        PAdi = value

    End Set

End Property

"Eskiden" kelimesini kullanmak için daha erken olsa da maalesef Property'leri VB9'da yukarıdaki şekilde tanımlıyorduk.

[VB10]

        Public Property Adi As String = "Varsayılan"

Sanırım bu kodun üzerine daha fazla söz söylemeye gerek yok.

Son sürpriz!

Yukarıdaki kodlar dikkatinizi çekmediyse ufak bir ipucunda buluniyim. Tek satırda yazılması gereken kodları çoklu satırlı olarak yazarken bir değişiklik görebiliyor musunuz?

[VB9]

        Dim Liste2 As New List(Of Adam) From { _

            {"Ahmet", "Hebe"}, _

            {"Mehmet", "Hebe"}}

[VB10]

        Dim Liste As New List(Of Adam) From {

            {"Ahmet", "Hebe"},

            {"Mehmet", "Hebe"}}

Benim sanırım en çok sevindiğim gelişmelerden biri bu oldu. Artık uzun uzun tek satırda kod yazmak zorunda değiliz veya her satır atlamak istediğimizde _ alt çizgi ile alt satıra geçme zorunluluğu da yok! C#'dan en çok kıskandığım özelliklerden biri de buydu.

VB kolayın kullanımını arttırarak kuvvetli bir dil olarak var olma yolunda tam gaz devam ediyor. Gelişmeler çok sevindirici. Bakalım 2010'a kadar karşımıza çıkacak diğer CTP'lerde neler olacak.

Hepinize kolay gelsin.

Thursday, October 30, 2008 8:16:03 PM (GTB Standard Time, UTC+02:00)  #    Comments [9]   Visual Basic 2010  | 
Copyright © 2010 Daron Yöndem. Tüm hakları saklıdır.