Point p = new Point();
p = (Point)(sender as Button).Tag;
wyświetla błąd
An unhandled exception of type 'System.NullReferenceException' occurred in .exe
Point p = new Point();
p = (Point)(sender as Button).Tag;
wyświetla błąd
An unhandled exception of type 'System.NullReferenceException' occurred in .exe
Próbujesz do zmiennej p zapisać wartość Tag obiektu, który wysłał zdarzenie, uprzednio konwertując sender na typ Button, a Tag na typ Point. A przedtem tworzysz sobie - nie wiem po co - obiekt typu Point, który natychmiast zastępujesz tym odczytanym z sendera.
Problem polega na tym, że sender as Button
albo (sender as Button).Tag
mają wartość null
. Gdzie ten pierwszy będzie miał wartość null jeżeli nie udało się skonwertować sendera na typ Button.
PIerwszy raz widzę coś takiego, żeby sprawdzać typ logiczny i potem sobie rzutować i wywoływać jakąś metodę obiektu.
Problem bierze się stąd, że w jednej linijce robisz trzy operacje, zamiast w trzech linijkach po jednej.
Dziękuje za profesjonalna pomoc.
Czy macie jakieś pomysły jak rozwiązać to zadanie.
Żeby nie zracało wartość null.