Blog Null Reference Exception - březen 2012
Přestože je technologie WPF asi ta nejlepší volba pro tvorbu desktopových aplikací, je zde horší podpora pokud děláme klasicky vypadající Windows aplikace. Pro modální dialogy zde nejsou všechny možnosti jako u Windows Forms. Proto jsem udělal pomocnou třídu DialogWindow sloužící jako base třída pro okna dialogů.
Podíváme se, jak třída funguje.
Před nedávnem vyšla veřejná beta verze produktů Visual Studio 11, .NET 4.5, C# 5.0 a už je tedy v celku jasné jaké nové funkce v těchto produktech budou a které nebudou. Nová verze jazyka C# 5.0 bude obsahovat kromě “velkých funkcí”, což je samozřejmě async/await a caller info attributes (u kterých se mi mimochodem vůbec nelíbí jak jsou do jazyka “dolepeny” - vlastní užitečnost této funkce ale nezpochybňuji), i nějaké ty menší. Jednou z těch menších je fix sémantiky foreach cyklu.
Systémy Windows Vista a Windows 7 již tady sice nějaký ten pátek jsou, ale jednak ze zkušenosti vím, že jsou i zákazníci (hlavně korporace), kteří např. k Windows 7 ještě nepřičichli. A dále rozhodně ne všichni mají aplikace pro tyto systémy správně připravené nebo nevyužívají některé vlastnosti, které např. vylepšují vzhled celé aplikace. Rád bych proto v několika článcích uvedl některé tipy / postřehy jak vylepšit uživatelské rozhraní (UI) desktopových (tlustých) aplikací, abyste uživatelům dopřáli to pravé User Experience a využili možnosti těchto zatím nejnovějších Windows systémů. (Než nám tyto desktopové aplikace nahradí metro a budeme mít úplně jiné starosti...) Technologicky se tyto články budou zabývat jak Windows Forms tak WPF.
To že, u konstruktu try-catch-finally v programovacím jazyce C# se blok finally provádí v případě, kdy vznikne při běhu kódu uvnitř try bloku výjimka, i v případě, kdy kód uvnitř try bloku proběhne korektně je skutečnost jistě velmi dobře známá. Existují ale nějaké případy, kdy se blok finally neprovádí?