VB 9.0 yeniliklerinden bir demet.

0 dakikada yazıldı

9587 defa okundu

Düzenle

Özellikle uzun metinleri hazırladığımız kodun içerisine gömmek
istediğimizde satır atlamaları vs epey can sıkıcı bir hal alıyor. Bu
nedenle çoğu zaman bu metinleri harici bir TXT dosyasına koyarak oradan
çekmeyi tercih ediyorum. Oysa yeri geldiğinde bir ASP.NET web sayfasında
minik bir HTML kodunu veya Winforms uygulamasında çok satırlı bir uyarı
mesajını rahatlıkla kodun içerisine koyabilsek ne kadar hoş olurdu değil
mi?

"Koyarız zaten" dediğinizi duyar gibiyim. Gelin eskiden nasıl
koyduğumuza ufak bir örnek ile bakalım.

Dim UyarıMesaji As String
= "Bu ""ÖZEL"" bir uyarı" & vbCrLf
& "mesajıdır."

Eğer içeri alacağınız metin çok uzunsa aslında bir de kodun
okunabilirliği adına kod içerisinde de satır atlayarak yazmak
isteyebilirsiniz. Bu durumda da takriben aşağıdaki gibi bir manzara
ortaya çıkacaktır.

        Dim UyarıMesaji As String
= "Bu ""ÖZEL"" bir uyarı" _

                                    & vbCrLf & "mesajıdır."

Peki bu kadar sorunlardan bahsettik de çözümü nedir? Çözüm .NET
Framework 3.5
ile beraber gelen XLINQ sınıflarında yatıyor :)

        Dim UyarıMesaji As XElement = <Mesaj>Bu "Özel"
bir uyarı

mesajıdır.</Mesaj>

 

        Console.Write(UyarıMesaji.Value)

İşte artık istediğiniz gibi metinlerinizi bir XElement olarak kod
içerisine yerleştirebilir sonra da söz konusu XElement'in value
metodu ile metni alabilirsiniz. Hatta daha da güzel kullanım şekilleri
var.

        Dim UyarıNo As Integer
= 7893

        Dim UyarıMesaji As XElement = <Mesaj>Bu "Özel"
bir uyarı

mesajıdır.

Uyarı numarası:<%= UyarıNo
%></Mesaj>

Yukarıdaki kod içerisinde yarattığımız metne bir değişkeni de metin
olarak ekliyoruz. Bu teknik özellikle bir metnin içerisine çok sayıda
farklı parametre eklenecek işimizi epey kolaylaştıracaktır. Gelin bir de
birden çok uyarı numarasının bulunabileceği bir örnek yapalım.

        Dim UyarıNo() As Integer
= {7893, 7777}

        Dim UyarıMesaji As XElement = <Mesaj>Bu "Özel"
bir uyarı

mesajıdır.

<%= From Uyarilar In UyarıNo Select <Uyari>

Uyarı numarası:<%= Uyarilar
%></Uyari>.Value %></Mesaj>

Yukarıdaki kod kafanızı karıştırabilir. Belki biraz eski ASP günlerine
dönmek anlamanıza yardımcı olabilir. İlk olarak UyarıNo adında bir
diziye toplam iki adet uyarı numarası ekledim. Uyarı mesajımı yaratırken
bu dizinin içerisinde her bir uyarı numarasını mesajın sonuna yazdırmak
istiyorum. Mesajı XElement olarak oluştururken içine bir LINQ
sorgusu yerleştiriyorum. LINQ sorgusu geriye yine bir XElement
yaratarak söz konusu elementin Value'sunu döndürüyor. LINQ sorgusu
dizi içerisinde gezerek her bir kayıt için gerekli metni yaratarak toplu
olarak döndürecektir.

Gördüğünüz gibi VB 9.0 ile beraber çok ilginç yenilikler geliyor.
Daha da güzeli :) bunlar maalesef C# tarafında yok :)

Hepinize kolay gelsin.