A következő néhány hónapban egy rakat .NET oktatást tartok egy cégnek Marcell jóvoltából (ezúttal is köszönöm neki az üzletet).
A cégnél szabványosítani fogják a Resharpert, egy VS kiegészítő addint. Többször felraktam már a gépemre, de mindig levettem, mert idegesített, hogy mindent átszab a VS-ben. Én mindent shortcutokkal érek el, azokra jól ráül, aztán feljön a saját felülete. Ezzel az agyamra ment, sokat okoskodott, mindig leszedtem.
Most, hogy tanuljam, mire az oktatás jön, újra felraktam, és használom nap mint nap. Telepítés után azt kértem tőle, nem telepedjen rá minden shortcutra, így már egész jól megvagyunk.
Ami viszont igen kellemes meglepetés volt, hogy már két hibát is kiszúrt. Az egyikben egy paraméter értékét az ugyanolyan nevű mezőbe raktam bele, csak valahogy lemaradt a this. Triviális hiba, de nem tűnt fel a sok paraméter között. A másik kicsit ravaszabb.
Process[] p = Process.GetProcessesByName(“…”);
if (p == null) …
Mi a hiba eben a kódban? A resharper jól kiszúrta, hogy az if kifejezése mindig true false. Miért? Így néz ki a GetProcessesByName vége:
Process[] array = new Process[list.Count];
list.CopyTo(array, 0);
return array;
Nulla hosszú tömb jön vissza, ha nincs ilyen nevű processz. Nem rakétatudomány, mégis könnyű elrontani. A Resharper meg észrevette. Megtartjuk, szeretjük.