Inconsistencies in .NET 2.0 (Build 40301)
So over the past 48 hours, I've been really diving into the Framework 2.0, looking at how the Provider Model is architected and implemented. There is one point that kind of confuses me, and I'm hoping that since there are so many Microsoft voices here, someone can give me an answer.
I expected that a lot of the new code would be using Generics instead of Collections, because I thought that collection programming was one of the primary reasons for using Generics. Is this not the case? Just out of curiosity, why are there still so many parts of 2.0 that are not using Generics?
Also, I was snooping around, and there are still several places in the Framework that are not using the new TryCast keyword. They are still doing redundant type-checking before casting objects, i.e:
1Dim MyOtherObject as SomeBaseType(I think that code is right). Anyways, it was just confusing for me. I would be curious to know what kind of communication there is between teams on what new features are going to be in the Framework, and how API design is standardized across the project. Is standardization a part of the stabilization and performance phases of the MSF model? If so, is there one final scrub of all the APIs before release?
2If TypeOf o Is SomeDerivedType
3 MyOtherObject = DirectCast(o, SomeDerivedType)
4 If Not MyOtherObject Is Nothing Then
5 'Do Something
6 Else
7 Throw New YouScrewedUpException("You call yourself a programmer?")
8 End If
9End If