@Wielki Mlot Tak wywolanie sie gettera PODCZAS DEBUGGOWANIA, PODCZAS NAJECHANIE MYSZKA NA OBIEKT to jest WTF. Debugowalem w swoim zyciu troche, ale czegos takiego po prostu nie widzialem nigdy. Dlatego sie zapytalem czy jest mozliwosc wylaczenia tego, bo dla mnie to normalnie nie jest (zachowanie rozumiem, nadal najechanie myszka na obiekt nie powinno zmieniac jego stanu. Dopiero RECZNE wywolanie tego gettera powinno zmienic stan obiektu)
Geter z punktu widzenia użytkownika obiektu działa jak pole, tzn. zwraca wartość. Normalnym zachowaniem debugera jest pokazywania wartości pól obiektu, zatem logiczne jest też pokazywanie wartości właściwości obiektu.
Ale geter jest także metodą, tzn. może zawierać logikę. Zazwyczaj używa się jej do dynamicznego obliczenia wartości danej właściwości, np. pola na podstawie długości boków w klasie reprezentującej kwadrat. Co niby w takim przypadku w debugerze miałby zwrócić geter, gdyby nie wykonał kodu?
Dlatego wywołanie gettera podczas debugowania to nie jest żaden WTF tylko w pełni uzasadnione zachowanie.
A, że jakiś gość, który nie rozumie co to są właściwości, wepchnął do gettera kod mutujący obiekt, to już nie wina twórców VS ani C# tylko jego. Rozwiązanie problemu na teraz, to poprawienie kodu, a na przyszłość to nie dopuszczanie osób nie znających ABSOLUTNYCH PODSTAW języka do pisania w nim.
fasadin