Warum funktioniert Button btn = sender as Button; seit Visual Studio nicht mehr?
Hallo.
Also wenn ich in Visual Studio 2022 diese Code eingebe:
Bekomme ich solche Fehler:
Denn bei Visual Studio 2019 war das nicht so, da hat es ohne probleme funktionirt. Anscheinend hat Microsoft die C# oder Windows Forms so geändert das sender as Button nicht mehr möglich macht.
Weiß jemand was man machen kann?
1 Antwort
Warum weist du überhaupt das Object Sender explicit einem Button-Objekt zu?
Ist doch völlig egal wer den Delegaten aufruft. Wenn Du unbedingt eine locale Variable als Kopie von Sender benötigst, genügt eine implizite Typisierung
var btn = sender;
Da stimmt der Typ immer und da Sender nur ein von Form abgeleitetes Object sein kann, ist ein eventueller Abgleich von Properties kein Problem. (Den gleichen Delegaten könnte man auch mit eine Timerobject oder einem "Enter" aus einer TextBox aufrufen.) Wäre doch zu blöd, wenn man diese Objekte mit roher Gewalt in einen Button umwandeln würde 🤮. Bei derartigen "as Type"-Aktionen bahnt sich irgendwann neuer Ärger an.
Wer hat Dir solchen Quatsch beigebracht?