Nie wiem jak wy ale ja kocham debugować kod. Odkrywanie, gdzie programista (w wielu wypadkach ja sam!) popełnił (świadomie/nieświadomie) błąd wprawia mnie w stan euforii pewnie jak morfina uzależnionego :).
Visual Studio (dla mnie) jest dość bliskie idealnego narzędzia do tego celu, ale do szczęścia brakowało mu kilku rzeczy. Jedną z nich był podgląd zwracanej wartości z funkcji. W poprzedniej wersji mogliśmy tę wartość uzyskać, ale trzeba było się troszkę “namęczyć”.
VS 2013 to the rescue
class Program { static void Main(string[] args) { Console.WriteLine(Function()); } private static double Function() { return Math.Acos(0.1212); } }
W VS 2013 jeśli po przejściu linii z return (czyli będąc na }) zerkniemy na okienko Autos naszym oczom ukaże się następujący obrazek.
Banalny przykład, ale czasem się przydaje. Oczywiście na tym możliwości się nie kończą. Trochę bardziej skomplikowany przykład:
class Program { static void Main(string[] args) { Console.WriteLine(Function()); } static double Function() { return Function2(Function1); } private static double Function1() { return Math.Acos(0.1212); } private static double Function2(Func actionToExecute) { return Math.Cos(actionToExecute()); } }
Zaznaczona funkcja przyjmuje jako argument funkcję zwracającą double i zwraca wynik działania na tym co zwróci wcześniej wspomniana funkcja przekazana jako argument. Gdy w tej metodzie zatrzymamy się na znaku } naszym oczom ukaże się co poniżej:
Dostaliśmy więc nie tylko to co zwróci funkcja Function2, ale także jaki wynik zwraca przekazana do nas Function1. Sweet 🙂
– Najciekawsze artykuły o .NET
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl