Friday, August 12, 2005

This is awesome.  Joe Duffy reveals what I had suspected.  A change to the CLR that will fix the issues I've previously discussed about nullable types in version 2.0!  From his blog:

The core of this change is that the IL box instruction has been modified to recognize Nullable<T>s. For non-Nullables, behavior remains the same; but upon seeing one, it inspects its HasValue property. If HasValue is true, box peeks inside the structure, extracts the T value, and boxes that instead; otherwise, box simply leaves behind a null reference. Obviously, unbox has also been changed to allow nulls to be unboxed back into Nullable<T> structures. This had a rippling effect in the CLR codebase and also required changes to late-bound semantics to mimic the static case.

This is fantastic, and reveals just how strong Microsoft's commitment is to the development community.  I gave my feedback on this before.  I felt it was a problem that aware developers could understand and live with, but I felt that novice developers would struggle with it, and ultimately it would make the feature, and the platform less understandable and approachable.

As you can tell from my earlier post, I had pretty much decided that MS would be unable to fix it at this late stage in the game, and that would be a shame.  But, thanks to some good decision making, they've done it.  Also, the solution was quite similar to my suggestion, I'm happy to say.

Be sure to follow through and read Somasegar's post on the subject.

posted on Friday, August 12, 2005 10:04:23 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
Related posts:
9-year Anniversary (yesterday)
LinqToStdf now on CodePlex
Image Slicer for Deep Zoom in Silverlight 2
Silverlight limitations and Constrained Callvirt in IL
Happy Birthday Peter
What are the generic Delegates in the framework for?
Tracked by:
"Fa Cup Fixtures" (Fa Cup Fixtures) [Trackback]
"citizens gas" (citizens gas) [Trackback]
"copy folder to cd" (copy folder to cd) [Trackback]
"used avalanche bass boats" (used avalanche bass boats) [Trackback]
"beach resort Puerto Vallarta" (beach resort Puerto Vallarta) [Trackback]
"persimmon tree" (persimmon tree) [Trackback]
"katrina update" (katrina update) [Trackback]
"hainan Isiand" (hainan Isiand) [Trackback]
"myrtle beach timeshares" (myrtle beach timeshares) [Trackback]
"suunto kb 77" (suunto kb 77) [Trackback]
"soluzione resident evil" (soluzione resident evil) [Trackback]
"war pictures" (war pictures) [Trackback]
"pine chest of drawers" (pine chest of drawers) [Trackback]
"foto gallery prof troie" (foto gallery prof troie) [Trackback]
"chemical safety" (chemical safety) [Trackback]
"antique garden tools" (antique garden tools) [Trackback]
"adhd children repeating a grade" (adhd children repeating a grade) [Trackback]
"paragon luggage" (paragon luggage) [Trackback]
"volo nichelino" (volo nichelino) [Trackback]
"highschool girls gone wild" (highschool girls gone wild) [Trackback]
"piattaforma elevatrice" (piattaforma elevatrice) [Trackback]
"69 ford mustang" (69 ford mustang) [Trackback]
"wholesale tanning bed" (wholesale tanning bed) [Trackback]
"enterprise ozark community college" (enterprise ozark community college) [Trackback]
"2005 article side effects accutane" (2005 article side effects accutane) [Trackback]
"men%27s two-tone Tag Heuer watches" (men%27s two-tone Tag Heuer watches) [Trackback]
"energy audits" (energy audits) [Trackback]
"adderall no rx" (adderall no rx) [Trackback]
"Biography Frederick Douglass" (Biography Frederick Douglass) [Trackback]
"back pain remedy" (back pain remedy) [Trackback]