Tam to holt není jak zvracení v C#, tam se musí myslet.
Pokud v C# zvracíš, tak je to na tebe asi moc mocný nástroj. Raději zůstaň u švábů.
V C# nedělám, je to hluboko pod mou úroveň. Spíš je sranda sledovat myšlenkový toky kolegů, co dělají v C#. To se moc dobře bavím. Třeba jeden věří, že FIR filtr může divergovat, další ofrňuje nad Delphi, že je to prehistorie a když potřeboval mít u třídy několik konstruktorů, co se volají navzájem a až úplně na konci potřeboval nějakou akci, byl v pasti. Zatím co já jsem v podobné situaci v C++B prostě přetížil AfterConstruction() a jelo se dál, on tam prý takovou blbst nemá (zato rodičovská třída měla cca 60 callbacků). Takže nejjednodušší řešení - class factory kvůli takové prkotině. Navrhoval jsem mu něco jako workaround v C++:
void Trida::PostInit(void) {
static bool initialized = flase;
if (initiaized) return;
...
initialized = true;
}
Zaseklo se to na tom, že ani po čtvrt hodině nepochopil, co to slovo "static" znamená.
No a když postavíš samozvaný experty na C#, pro který je "assert" sprostý slovo a "catch" urážka do řady a budeš je kosit kulometem, ani za měsíc non-stop střelby ti nedojdou terče. To je tak, když je kompilátor 3x chytřejší než ten, kdo do něj cpe kód.
A tou cisternou zvratků myslím třeba DevExpress. Bez dokumentace, kolegové s tím dělají metodou T&E. Jednoduchá třída má 100 vlastností, 200 událostí a stačí jedna změna, aby zmizela deklarovaná funkcionalita. Sice designově pěkný, ale rozežraný, pomalý a nefunkční. Nasadit to na velíně v Dukovanech, tak než odswapuje kus paměti a naanimuje hlášku "roste tlak a teplota v reaktoru", už mají záchranáři dekontaminovanou celou Hadcovou step... A kdybych od kolegů za každý sprostý slovo, který při jejich práci musím vyslechnout, dostal korunu, tak do roka a do dne kupuju fungl novou XC60ku. Hmm, asi jim to navrhnu.