Sunday, May 28, 2006

Windows forms designer cannot do [...]

I should have expected it: windows forms designer in Visual Studio 2005 cannot load controls derived from generic classes. In addition, of course, to not being able to load controls derived from abstract classes. Well, I know it's pretty hard to do a two-way synchronization between generated code and design surface and cover all the variations in the way classes can be created, but Microsoft could at least stop fooling us into thinking everything can be done easily in VS. Developers should really be aware of the choice they have to make: if you want to have a serious architecture in your software, forget about design-time functionality. Design-time is for VB developers: if you want it, you're doomed to casting types (instead of using generics) and throwing a NotImplementedException (instead of making a member abstract). In my opinion developing design support for generics and abstract classes was more important than building an NUnit-clone into the IDE, but Microsoft management's priorities seem to gravitate towards stuff that makes for cool screenshots in feature lists. But what really frustrates is that MS has written volumes on software design, coding standards, practices etc. and has a number of tools that enforce them, only to be let down by inadequacies in the form designer, the one thing that was invented ages ago.