Don Demsak recently posted an article “VB.Net Event Implementation and Serialization Doesn’t Mix”. Being the culprit VB developer in Don's post I have to say there is no excuse. I didn't know there was another way to create event handlers. The same old (VB) way I've been handling events seemed to work just fine for me. Then Don discovered the serialization problem.
I say there is no excuse, but I am not referring to my chosen code implementation. I am referring to VB.Net continuing to allow me to do things the old way. This problem is a known issue and yet it continues to exist in VS 2005. Again, no excuse.
I stand up to Don regularly in defense of doing things the VB way, but more than once VB.Net has done things behind the scenes that make me question my position. I am starting to think it is time for the VB.Net team to remove the crutches. By enabling VB developers to continue using flawed coding methods and less than optimal libraries in order to provide “backward compatibility“ for VB 6ers is harmful to the developer and the products they produce. I don't want to have to move to C# (I hate semi colons). But I don't want funky things to happen behind the scenes either. And to be frank, I would never have found this particular issue without Don's help!
VB developers don't always get the respect and credit that C# developers do. Maybe if the language stopped codling the VB developer with “backward compatible“ features, they would. Take away the crutches we can handle it.
--chaz