NullReferenceException podczas próby rzutowania

0
Point p = new Point();
p = (Point)(sender as Button).Tag;

wyświetla błąd
An unhandled exception of type 'System.NullReferenceException' occurred in .exe

0

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.

0

PIerwszy raz widzę coś takiego, żeby sprawdzać typ logiczny i potem sobie rzutować i wywoływać jakąś metodę obiektu.

0

Problem bierze się stąd, że w jednej linijce robisz trzy operacje, zamiast w trzech linijkach po jednej.

0

Dziękuje za profesjonalna pomoc.
Czy macie jakieś pomysły jak rozwiązać to zadanie.
Żeby nie zracało wartość null.

1 użytkowników online, w tym zalogowanych: 0, gości: 1