pondělí 27. června 2011

Název aktuální metody a volající metody

Pokud potřebujeme vrátit název aktuální metody (např. pro účely logování), můžeme použít tento kód:
private static string VratNazevAktualniMetody()
{
string nazevMetody = System.Reflection.MethodBase.GetCurrentMethod().Name;
return methodName;
}

středa 22. června 2011

Iterace přes hodnoty enumu (pomocí foreach)

Po dlouhé době jsem opět potřeboval projít v cyklu všechny hodnoty enumu a na základě hodnoty provést akci. Vzpomněl jsem si, že jsem tuto konstrukci psal kdysi na dotnetforum.cz.

Řešení jsem tehdy našel na MSDN fóru:

enum enmOvoce
{
jablko,
hruska,
jahoda
}

Type typEnumu = typeof(enmOvoce);
foreach(var polozkaEnumu in Enum.GetValues(typEnumu))
{
// delej neco
}
Nevýhodou je, že polozkaEnumu je object, takže musíme provést unboxing.

pátek 17. června 2011

typeof vs GetType

Jaký je rozdíl mezi použitím typeof a object.GetType()?
Rychlé shrnutí toho, co můžete najít na internetových diskusích.

úterý 14. června 2011

Syntax Highlighter - zvýrazňovač syntaxe

Konečně jsem našel výborný zvýrazňovač syntaxe, který se dá lehce integrovat do blogu tady na Blogger.com. Jedná se o zvýrazňovač SyntaxHighlighter od Alexe Gorbatcheva (v době psaní článku ve verzi 3.0.83). Podporuje velké množství jazyků a pokud byste nenašli zrovna ten Váš, můžete si jednoduše dopsat jeho podporu, protože zdrojové kódy jsou volně k dispozici. Nebo se můžete porozhlédnout po internetu, jestli některý uživatel nenapsal potřebnou podporu.

čtvrtek 2. června 2011

Volání metody z GUI vlákna nebo worker vlákna

Pokud programujete aplikaci s GUI, která provádí nějaké dlouhé výpočty, pravděpodobně dřív nebo později použijete pracující vlákno na dlouhý výpočet, zatímco hlavní vlákno bude schopno stále reagovat na uživatelovu interakci.