¿Hay una expresión VB.NET que * siempre * produce nulo?

Todos sabemos que los VBNothing es similar, pero no equivalente, a C #null. (Si no lo sabe, eche un vistazo aesta respuesta primero.)

Solo por curiosidad, me gustaría saber lo siguiente:

¿Existe una expresión VB.NET que siempre producenull?

Para dar un ejemplo concreto, tome la siguiente declaración:

Dim o As Object = If(myBool, 5, ...)

¿Es posible reemplazar... con algo, tal queo es5 cuandomyBool es verdad yNothing/null cuandomyBool ¿Es falso?

Soluciones obvias que no funcionarán:

Nothing (vea la pregunta a la respuesta vinculada arriba),DirectCast(Nothing, Object) (arroja un error en tiempo de compilación con Option Strict On),DirectCast(Nothing, Integer?) funciona para este ejemplo, pero no funcionaen general (si reemplaza5 con5.0 en este ejemplo, deberías modificar el reparto).

Soluciones obvias (no contarán como respuestas):

Declarar unObject variable o campo, configúrelo enNothing y usar eso para...,definir un método o propiedad que siempre devuelveNothing,DirectCast el segundo parámetro (5) aObject.

Nota: El ejemplo anterior es solo un ejemplo. La pregunta en sí está escrita en negrita.