Tuhle knihu napsal opravdu profesionál, který nejen ví, co to je programování v C#, ale také zná platformu .NET a její temná zákoutí. Kniha obsahuje nějakých 320 řešených úloh, samozřejmě se stručným vysvětlením, proč to funguje právě takhle. Záběr této knihy je opravdu široký.

Jednotlivé kapitoly ukazují řešení různých situací pří práci s datem a časem, při konfiguraci aplikace, využívání nástrojů pro práci s procesy a službami, používání XML, různé triky s formuláři a ovládacími prvky, zpracování multimediálních souborů, ovládání počítače promocí rozhraní WMI, kreslení pomocí rozhraní GDI+, využívání objektů COM v aplikacích pro .NET, využívání internetových protokolů, jako jen FTP, a mnohé další.

Výčet toho, co v knize je, mi připadá nudný, a tak bude možná zajímavější říci, co v této knize nenajdeme: Chyběly mi tu mimo jiné příklady distribuovaných aplikací (jako jsou webové služby a .NET remoting), příklady aplikací založených na ASP.NET, příklady databázových technik využívajících pokročilejších vlastností knihovny ADO.NET (i když kniha obsahuje kapitolu věnovanou databázím), příklady na zabezpečení a další. Zřejmě se nevešly do předepsaného rozsahu edice.

Podívejme se na některá témata podrobněji.

Autor využívá ve svých řešeních knihoven platformy .NET opravdu na doraz. Když na to přijde, neváhá volat funkce z Win32 API, takže se jen tak mimochodem naučíme dělat v C# takové triky, jako bylo klasické „hákování“ (hooking) – náhrada standardních systémových funkcí vlastními, nebo změnit systémovou nabídku okna. Problém je, že chcete-li takováto řešení vymýšlet sami, musíte API Windows znát, a to do poměrně velké hloubky, neboť se hodí jen pro poměrně pokročilé a záludné úlohy; běžné věci lze totiž řešit v .NET daleko elegantněji.

Kapitola věnovaná datu a času rozebírá takové úlohy, jako je zjištění názvu dne podle data, výpočet prvního a posledního dne v měsíci, zjištění pořadového čísla kalendářního týdne podle ISO atd. Mezi lahůdky patří výpočet data velikonoc v zadaném roce; jak asi víte, je to první neděle po prvním jarním úplňku v zeměpisné šířce Jeruzaléma.

V této knize sice nenajdeme zvláštní kapitolu věnovanou lokálnímu nastavení, ale některá řešení – například právě pokud jde o práci s datem a časem – jsou na lokálních zvyklostech závislá. Příkladem může být řešení poskytující seznam německých svátků, a to s ohledem na to, zda se jedná o svátky platné celostátně nebo jen v některých spolkových zemích. Takovéto příklady byly při překladu do češtiny pochopitelně nahrazeny odpovídajícími programy pro české prostředí; na přiloženém CD ovšem najdete i původní verzi příkladu.

V kapitole o databázích se autor zaměřil na využití knihovny ADO.NET, na MS SQL Server a na práci s komponentou DataGridView. Vedle řešení, založených na využití tříd ADO.NET a jazyka SQL, zde najdeme i řešení založená na objektech SMO (Server Management Objects), které se instalují zároveň se serverem. Vzhledem k rozsahu problematiky databází je to ovšem jen velice skromná kapitola.

V kapitole věnované systému se naučíme pracovat se systémovými složkami, zjistit verzi Windows, rychlost procesoru, zjistit informace o sériových rozhraních systému a mnohé další.

Upřímně řečeno, je to kniha, která mi opravdu chyběla natolik, že když vyšlo první vydání německého originálu (ještě pro .NET 1.1), opatřil jsem si ho, i když němčina není zrovna můj oblíbený jazyk. Na překladu druhého vydání do češtiny jsem pak spolupracoval jako odborný korektor, takže jsem si ji opravdu užil. Jen doufám, že autor napíše časem další verzi pro novější verze platformy .NET.

autor recenze M. Virius