Pravděpodobně jste již slyšeli o novém Visual Studiu s kódovým označením Orcas. Pokusil jsem se popsat několik novinek, které mě v této verzi zaujaly a mohli by zaujmout i Vás.
K jednotlivým změnám...
Běžné příkazy nyní i v IntelliSense
Mile mě překvapilo, že se konečně v seznamu funkcí a tříd zobrazují i běžné příkazy s popisem a syntaxí.
Nová podpora XML
Potřebujete programově zapsat XML? Jeho zápis je ve VB9 více než snadný:
Dim uzivatele As XElement = _
<uzivatele>
<uzivatel>
<jmeno>Karel</jmeno>
<vek>22</vek>
</uzivatel>
<uzivatel>
<jmeno>Lenka</jmeno>
<vek>26</vek>
</uzivatel>
<uzivatel>
<jmeno>Michal</jmeno>
<vek>17</vek>
</uzivatel>
<uzivatel>
<jmeno>Petr</jmeno>
<vek>30</vek>
</uzivatel>
</uzivatele>
Pokud znáte ASP.NET, určitě Vám přijde sympatický také způsob jak vepsat do takto deklarovaného XML kód. Používá se klauzule <%=hodnota %>. Například pro vytvoření dalšího záznamu, kde bude mít uživatel náhodný věk:
Dim uzivatele2 As XElement = _
<uzivatele>
<uzivatel>
<jmeno>Martin</jmeno>
<vek><%= New Random().Next(30, 40) %></vek>
</uzivatel>
</uzivatele>
Všimněte si, že jsem třídu Random inicializovat a rovnou použil bez nutnosti deklarovat proměnnou. Jedná se o další vylepšení Visual Basicu verze 9.
Prvky pak není žádný problém procházet cyklem:
For Each uz In uzivatele.<uzivatel>
Debug.Print(uz.<jmeno>.Value & " - věk: " & uz.<vek>.value)
Next
LINQ - Další rozměr programování s SQL operátory
Zezačátku jsem si říkal, že mě ve VS Orcas nic nepřekvapí. Tohle jsem ale opravdu nečekal. Projekt LINQ nabízí sadu příkazů (keywordů), které pomůžou u seznamů s filtrováním, řazením, slučováním... Nejlepší bude asi jednoduchá ukázka.
Představte si, že máme nějaký seznam pojmenovaný Státy plný objektů třídy Stát s dvěma vlastnostmi Název a PočetObyvatel. A naším úkolem je vybrat všechny státy ve kterých je více než 1 000 000 obyvatel. Za normálních okolností projdeme pole nebo kolekci a ručně porovnáme všechny hodnoty vlastnosti PočetObyvatel. Ve VB9 můžete použít následují příkaz:
Dim VetsiStaty = From Stat In Staty Where Staty.PocetObyvatel > 1000000 Select Stat
Velká část těchto příkazů je použitelná i jako funkce seznamů. Například můžete spojit dva seznamy přes Seznam1.Union(Seznam2).
Více informací s velkým množstvím příkladů a seznamem všech klíčových slov naleznete na stránkách http://msdn2.microsoft.com/en-us/library/aa479865.aspx
Deklarace podle přiřazení
Představte si, že deklarujete proměnnou:
Dim zprava = New System.Net.Mail.MailMessage()
Ve starších verzích by z toho mohl být problém, protože objekt není typu System.Net.Mail.MailMessage. Ve VB9 si překladač sám domyslí co přiřazujeme. Dokonce i při psaní kódu se objekt zprava tváří jako MailMessage. Tohle je věc, který mě dříve občas docela obtěžovala, zvláště při dlouhých jménech i s Namespacy.
Toto vylepšení se dá použít i například při procházení seznamů (nemusíme deklarovat datový typ):
For Each Dim Polozka In Polozky
...
Next
Windows Presentation Foundation
Visual Studio Orcas podporuje .NET Framework 3.0 a s tím přichází i Windows Presentation Foundation. Jedná se o základ pro stavbu aplikací implementovaný ve Windows Vista (lze doinstalovat i do Windows XP). Zajímavý je například vizuální designér jazyku XAML. Tomuto tématu se budeme ale věnovat v jiném článku.
Zdroje
Článek čerpá z anglického dokumentu, který naleznete zde: Visual Basic 9.0 Overview
Příklady jsem testovat na Visual Basic Codename Orcas Express Edition Beta 1.