(Transposition du même post en c#)
La méthode d'extension suivante permet de déterminer si un type est Nullable. Cela peut sembler facile à lire, mais je vous assure qu'il m'a fallu du temps pour trouver l'idée.
Imports System Imports System.Collections.Generic Imports System.Linq Imports System.Text Imports System.Runtime.CompilerServices Namespace Tools Public NotInheritable Class TypeExtensions Private Sub New() End Sub ''' <summary> ''' Permet de déterminer si un Type est Nullable ''' </summary> ''' <param name="sender"></param> ''' <returns></returns> <Extension()> _ Public Shared Function IsNullable(Byval sender As Type) As Boolean Return sender.IsGenericType _ AndAlso sender.GetGenericTypeDefinition().Equals(GetType(Nullable(Of ))) End Function End Class End Namespace
Petite explication de texte, il s' agit d'une méthode d'extension qui cherche dans un premier temps si le type est générique (donc peut être un Nullable), et ensuite si la définition du type générique est Nullable(Of).