J'ai écrit la méthode d'extension suivanteComment écrire des méthodes d'extension pour les deux Nullable et non nullables
<Extension()>
Public Function ToUtcIso8601(ByVal dt As Date) As String
Return String.Format("{0:s}Z", dt)
End Function
Mais je dois aussi une version Nullable de la même méthode ... comment exactement dois-je faire cela?
C'est ce que je pensais, mais je ne suis pas sûr que ce soit la bonne façon
<Extension()>
Public Function ToUtcIso8601(ByVal dt As Date?) As String
Return If(dt, Nothing).ToUtcIso8601()
End Function
ou une autre option
<Extension()>
Public Function ToUtcIso8601(ByVal dt As Date?) As String
Return If(Not dt Is Nothing, ToUtcIso8601(dt), Nothing)
End Function
Je ne suis pas sûr « droit » façon de le faire.
Edité
Cela fonctionne en fait, mais ...
Public Function ToUtcIso8601(ByVal dt As Date?) As String
Return If(Not dt Is Nothing, ToUtcIso8601(dt.Value), Nothing)
End Function
Est-ce la bonne façon de le faire?
Malheureusement, ma deuxième option bloque le service WebDev –
Vous devrez alors fournir une trace de pile ou quelque chose d'autre. – cdhowie
Ne devrait pas la ligne lire: 'Retour si (pas dt n'est rien, ToUtcIso8601 (dt.value), Nothing)' débogueur – David