This post originated from an RSS feed registered with .NET Buzz
by Scott Hanselman.
Original Post: VB6->VB.NET->VB.NET/Whidbey Collection Class change
Feed Title: Scott Hanselman's ComputerZen.com
Feed URL: http://radio-weblogs.com/0106747/rss.xml
Feed Description: Scott Hanselman's ComputerZen.com is a .NET/WebServices/XML Weblog. I offer details of obscurities (internals of ASP.NET, WebServices, XML, etc) and best practices from real world scenarios.
Remember all the weirdness around Collections and VB6 when VB.NET came out?
I just noticed this breaking
change as we move from 1.1 to Whidbey. Previously added workaround code
will have to be removed.
VB collections have weird implementation of IList: 0 based for read and
-1 based for insertion
Affected APIs none: Ilist implementation of VB collection is fixed Affected Assemblies\Dll(s): Microsoft.VisualBasic.dll Affected Scenarios: Upgraded apps that use VB Collection through
inconsistent implementation of Ilist (very unlikely scenario) may be broken. Description: An instance of Collection type is casted to Ilist
and then used via Ilist interface. To make this work in 7.0, 7.1 you would need to
specialcase access to Ilist if it holds Collection
Workaround Code that has special-case warkarounds to use Collections casted to
Ilist, will have to remove workarounds.