NullReferenceException podczas próby rzutowania

NullReferenceException podczas próby rzutowania
0
Kopiuj
Point p = new Point();
p = (Point)(sender as Button).Tag;

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

edytowany 3x, ostatnio: Patryk27
Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 2 godziny
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.

J0
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 8 lat
0

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

somekind
Gdzie tam jest typ logiczny?
J0
chyba coś mi się pomyliło z is :D
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:4 dni
  • Lokalizacja:Wrocław
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.