Dopo avere installato la CTP di Agosto ho dato un occhiata alle ultime importanti modifiche introdotte nel CLR annunciate da “Soma” nel suo blog.
Gia' che c'ero ho approfondito meglio l'analisi dei nullable types cercando di trovare un alternativa in VB 2005 alla mancanza dei
lifted operators presenti in C# 2.0 e gia' che c'ero ho buttato giu' un tentativo di coalescing operator generando questo “mostro”.

    Public Function NullIIf(Of K As Structure)(ByVal value As Nullable(Of K)) As Nullable(Of K)
        If (value.HasValue) Then
            Return value
        Else
            Return Nothing
        End If
    End Function

Che ha il difetto di operare solo sui nullable a differenza dell operatore di C# 2.0 che agisce anche sui reftypes

string s=null;
string k= s?? “s is null”;

A questo punto ho pensato di utilizzare INullableValue scoprendo pero' che, dopo la modifica introdotta ai Nullable Types e' stata rimossa (anche se rimane presente nella documentazione) dopo la Beta2.

Da questa mancanza e' nata una interessante discussione con Bill McCarthy il quale ha bloggato alcune riflessioni comuni sull'argomento, blog al quale vi rimando per ulteriori dettagli.